2011-08-21 9 views
5

Ciao colleghi programmatori,Come posso creare una vista schematica su cui posso posizionare, spostare e collegare elementi?

Sono stato incaricato di riscrivere un programma per le versioni più recenti di Windows (come l'originale è stato scritto quasi 15 anni fa con Windows 3.1 e 95 in mente).

Il problema che ho ora è che non so come creare una sorta di tela su cui posizionare elementi grafici e collegarli tra loro per creare uno schema, come this.

Ho cercato una soluzione su Internet, ma non ho trovato nulla; forse i miei termini di ricerca erano disattivati ​​... Essenzialmente, l'utente deve essere in grado di posizionare gli elementi sulla griglia, collegarli tra loro e, naturalmente, anche eseguire operazioni di modifica come spostare o eliminare qualcosa. Tutti gli articoli hanno anche proprietà che possono essere modificate.

Stavo pensando di usare WPF, ma se questo può essere fatto più facilmente con un altro toolkit, sarei aperto anche a questo. L'applicazione sarà scritta in C#.

Se si vuole dare un'occhiata al software, si senta libero di scaricarlo here. (È necessaria una versione a 32 bit di Windows per eseguirlo.) Sfortunatamente, è disponibile solo in tedesco, ma è possibile accedere a questa griglia aprendo S57901.exe, aprendo il file di progetto "DEMO.PRJ" (nel programma directory) quindi andando su "Programm"> "Modifica: (...) \ DEMOP.PR".

Grazie in anticipo!

+0

+1 per una domanda formidabile; Ho impiegato un po 'di tempo a implementare qualcosa del genere un po' indietro che usa OnPaint e molti array di oggetti per i test di successo e simili ... si spera che uno di quei link forniti dall'archer farà il trucco – shelleybutterfly

risposta

3

Se si sta per scrivere in C#, quindi prendere WPF. Offre supporto e prestazioni migliori per le applicazioni grafiche. Inoltre non avrai quel dolore con OnPaint, hit testing, ridimensionamento, ecc. Come in WinForms.

Come noto, non esistono librerie che consentano di utilizzare tali elementi complessi e di manipolarli. Come ho capito, schemi come nell'esempio possono essere rappresentati come grafici, quindi puoi prendere in considerazione l'uso di una libreria che consente di disegnare graficamente. Non riporterò la lista dei più popolari e flessibili di loro. Basta guardare search.

Aggiornamento .

qualcosa Trovato vicino al tuo problema:

prendere anche uno sguardo a yFiles for WPF. Ma sfortunatamente non è gratis.

+0

+1 per quei link :) – shelleybutterfly

+0

+1, vediamo se qualcos'altro si apre, in caso contrario, la tua risposta è accettata. Grazie :) – fbrozovic

Problemi correlati