Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [C# - WPF] - Generare una fila di pulsanti sul form in base alla larghezza del nome
Forum - C# / VB.NET - [C# - WPF] - Generare una fila di pulsanti sul form in base alla larghezza del nome

Avatar
criscap85 (Normal User)
Pro


Messaggi: 99
Iscritto: 29/01/2012

Segnala al moderatore
Postato alle 11:33
Martedì, 11/09/2012
Salve allora tramite questo ciclo:

Codice sorgente - presumibilmente C#

  1. foreach (var item in listaUtenti)
  2.             {
  3.                 if (item.IndirizzoIP != OttieniIpLocale())
  4.                 {
  5.                    
  6.                 Button bUtente = new Button();
  7.                 bUtente.Text = "   " + item.Nome + " " + item.Cognome;
  8.                 bUtente.Tag = item.IndirizzoIP + "-" + item.NomePC;
  9.                 bUtente.Name = "b" + item.Username;
  10.                 //bUtente.ImageKey = @"C:\Users\cristian\Desktop\CommandClient\ChatClient\Immagini\userOffline.png";
  11.                 bUtente.Location = ??? ---> qui il pulsante deve essere spostato successivamente a quello precedentemente creato! Come si fa?
  12.                 bUtente.Width = (item.Nome.ToString().Length + 1 + item.Cognome.ToString().Length)*10;
  13.                 bUtente.Height = 34;
  14.                 bUtente.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
  15.                 bUtente.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
  16.                 bUtente.Image = new Bitmap(@"C:\Users\cristian\Desktop\CommandClient\ChatClient\Immagini\userOffline.png");
  17.                 bUtente.Click += new System.EventHandler(this.bUtente_Click);
  18.                 i++;
  19.                 this.Controls.Add(bUtente);
  20.                 }
  21.  
  22.             }



Io non faccio altro che leggere dal database l'elenco degli utenti. Poi se sono io il pulsante non viene creato mentre invece se sono gli altri utenti allora si. Questi pulsanti servono per inviare chat privata al rispettivo utente indicato nel testo del pulsante. Non so se mi sono spiegato.
Il mio problema è il posizionamento. Come faccio a capire la posizione del primo pulsante creato per posizionare il secondo pulsante subito dopo il primo? Esiste un metodo particolare? Devo usare qualche variabile x dell'ultimo pulsante creato e poi aggiornarlo di volta in volta? oppure? :(

Ultima modifica effettuata da criscap85 il 12/09/2012 alle 10:43


NBM!
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5471
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:52
Martedì, 11/09/2012
Ma c'è gente che ancora crea programmi di contabilità da zero?

Ci sono decine di pacchetti già pronti, a costi veramente limitati, che fanno tutto quello che deve fare una contabilità (fra l'altro, tenendo conto delle normative più recenti) e ancora si deve reinventare l'acqua calda?

Non credere che sia un compito semplice ... le tabelle di una contabilità, così come ti è stata richiesta, sono tante e anche complesse ... le relazioni vanno studiate con molta attenzione e il lavoro è molto lungo, forse più lungo di quello che credi (se vuoi farlo bene ...).

Insomma ... non per scoraggiarti, ma perché non proporre al tuo cliente qualcosa di pronto, magari configurabile (vedi Buffetti e simili) ?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5471
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 9:47
Mercoledì, 12/09/2012
Scrivere in un forum e poi eliminare il post non è molto corretto e non è indice di serietà.

Non capisco perché tu l'abbia fatto.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
criscap85 (Normal User)
Pro


Messaggi: 99
Iscritto: 29/01/2012

Segnala al moderatore
Postato alle 10:48
Mercoledì, 12/09/2012
Testo quotato

Postato originariamente da nessuno:

Scrivere in un forum e poi eliminare il post non è molto corretto e non è indice di serietà.

Non capisco perché tu l'abbia fatto.



Chiedo scusa, per l'errore che ho fatto. Ho riciclato il topic e ho risparmiato lo spazio.
Ora tocca a voi a capire come fare....io mi sto impazzendo! :(.

:ot: Ripeto non voglio il codice ma una dritta. :ot:


NBM!
PM Quote
Avatar
carmine (Member)
Pro


Messaggi: 168
Iscritto: 20/04/2010

Segnala al moderatore
Postato alle 11:57
Mercoledì, 12/09/2012
Ci saranno anche tanti programmi di contabilità! Ma per imparare è sempre un buona esperienza! :)


Computer Science
PM Quote
Avatar
tasx (Dev Team)
Expert


Messaggi: 439
Iscritto: 15/12/2008

Segnala al moderatore
Postato alle 14:21
Mercoledì, 12/09/2012
Ciao!!

Se ho capito bene cosa chiedi puoi usare un Layout: UniformGrid, praticamente ti sistema i child
in modo automatico, tu gli dici quante colonne o righe ti servono e lui mano a mano che inserisci elementi li sistema in automatico.

Solo un consiglio...
So' che è un'abitudine creare l'UI da codice tuttavia è praticamente un insulto a WPF farlo così, datti un'occhiata allo XAML e al pattern MVVM che con WPF ci va a nozze :heehee::heehee:
Nel tuo caso sarebbe sufficiente dichiarare una ListBox, poi modifichi l'ItemTemplate della listbox creando un template generico della collezione, poi bindi l'ItemSource della listbox alla listautenti e il gioco è fatto...

Ciaociao!!


... sei un proxy che perde i pacchetti ...
PM Quote
Avatar
criscap85 (Normal User)
Pro


Messaggi: 99
Iscritto: 29/01/2012

Segnala al moderatore
Postato alle 15:08
Mercoledì, 12/09/2012
Ottima idea!!!! Bene! Grazie!


NBM!
PM Quote