Witam wszystkich :)
Od dłuższej chwili męczę się z custom'owym MessageBox'em. Kod prezentuje się mniej więcej tak:
Form1.cs
MyNewMessageBox myNewMessageBoxInstance { get; set; }
DialogResult result { get; set; }
private void button1_Click(object sender, EventArgs e)
{
myNewMessageBoxInstance = new MyNewMessageBox();
Thread thread = new Thread(new ThreadStart(th));
thread.Start();
result = myNewMessageBoxInstance.ShowDialog();
if (result == DialogResult.OK)
{
Console.WriteLine(myNewMessageBoxInstance.code);
}
}
public void th()
{
while (result != DialogResult.OK)
{
try
{
if (myNewMessageBoxInstance.code.Contains("69"))
{
myNewMessageBoxInstance.btn_OK.DialogResult = DialogResult.OK;
}
}
catch { }
}
}
}
myNewMessageBox.cs
public string code { get { return textBox1.Text; } }
W myNewMessageBox.Designer.cs DialogResult przycisku oczywiście ustawiony na None. Problem jest taki, że przy pierwszym uruchomieniu po zatwierdzeniu wpisanego kodu wszystko działa. Natomiast przy drugim uruchomieniu już po zatwierdzeniu kodu się nic nie dzieje, trzeba zamknąć myNewMessageBox i uruchomić od nowa, aby zadziałało. Doszedłem do tego, że po prostu przy drugim uruchomieniu, myNewMessageBox nie jest na nowo tworzony i dlatego nie ładuje się wartość None DialogResult. Z tego powodu próbowałem zmieniać wartość na None z poziomu formy przy uruchomianiu button'a, ale nadal nie chciało działać. Próbowałem już tyle różnych wariacji, że na prawdę nie wiem gdzie leży problem. Z góry dziękuję za pomoc :)