Gå til innhold

Sende data mellom to aktive forms, C#


Anbefalte innlegg

Har en listview (form1) der brukeren kan dobbeltklikke på en valgt rad for å redigere data. Når en rad blir dobbetklikka på, åpnes en "EditDialog" (form2). Når brukeren har oppdatert verdiene, så skal han kunne trykke på "Save" i form2 og den valgte raden i listview'et i form1, skal oppdateres.

 

Kort sagt: Hvordan oppdatere data i en parent form FRA en child form?

 

Jeg antar jeg må bruke noen form for delegate og event? Har søkt litt rundt på nettet, men klarte ikke helt å finne det jeg var ute etter.

Lenke til kommentar
Videoannonse
Annonse

Enkleste er bare å lagre data i formen; f.eks. et passordvindu:

public partial class PasswordDialog : Form
{
 private TextBox PasswordBox;
 private TextBox UsernameBox

 protected byte[] m_pwd_hash;
 protected string m_username;

 public byte PasswordHash { get { return m_pwd_hash; } }
 public string Username { get { return m_username; } }

 public OnClickOk(object sender, EventArgs e)
 {
   m_username = UsernameBox.Text;
   System.Security.Cryptography.SHA256 alg = System.Security.Cryptography.SHA256.Create();
   m_pwd_hash = alg.GenerateHash(System.Text.Encoding.Unicode.GetBytes(PassworBoxd.Text));
 }
}
public class Form1 : Form
{
 public void RequestUser()
 {
   PasswordDialog dlg = new PasswordDialog();
   if(dlg.ShowDialog() == DialogResult.OK)
   {
     Login(dlg.Username, dlg.PasswordHash);
   }
 }  
}

 

Du kan evt gi et Form1 som et parameter i constructoren til den andre formen.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...