В моей mainForm я проверяю установленные compoenets в его Form_Load.Если они не установлены, я вызываю другую форму (WaitingDialog), чтобы показать состояние установки.Я называю waitDialog следующим образом:
waitDlg = new WaitingDialog(null); // Parent is set to null
waitDlg.set("Checking....", "Components"); // Set 2 Labels
waitDlg.Title = "Installing...";
waitDlg.Show();
С помощью приведенного выше кода форма ожидания видна, но текстовый набор не виден.Эта часть (размер текста) метки имеет белый фон, но текст не виден.
Я должен выполнить это в Form_Load только mainForm, как будто там нет компонент, тогда mainForm установит его и на экране появится сообщение о подтверждении.Форма waitDlg.
Как обработать это так, чтобы текст также отображался в форме waitDlg?
Код WaitingDialog:
public partial class WaitingDialog : Form
{
private string title;
private string message;
private bool cancel;
private ParentForm myParent = null;
public WaitingDialog()
{
InitializeComponent();
Cancel = false;
this.StartPosition = FormStartPosition.CenterScreen;
}
public WaitingDialog(ParentForm parent) : this()
{
if (parent != null)
{
myParent = parent;
this.StartPosition = FormStartPosition.Manual;
}
}
public WaitingDialog(string title, string message)
: this()
{
label1.Text = title;
msgLbl.Text = message;
// Title = title;
// Message = message;
}
private void WaitingDialog_Load(object sender, EventArgs e)
{
}
public string Title
{
get { return title; }
set { title = value;
label1.Text = title;
Invalidate();
}
}
public string Message
{
get { return message; }
set { message = value;
msgLbl.Text = value;
Invalidate();
}
}
public void set(string title, string message)
{
Title = title;
Message = message;
}
public void set(string title, string message, bool showButton)
{
Title = title;
Message = message;
this.cancelBtn.Visible = showButton;
}
public void showCancelButton(bool showButton)
{
this.cancelBtn.Visible = showButton;
}
public bool Cancel
{
get { return cancel; }
set { cancel = value; }
}
private void cancelBtn_Click(object sender, EventArgs e)
{
Console.WriteLine("CANCEL BUTTON CAUGHT");
Cancel = true;
}
}
// TRIED CAlling as :
waitingDlg = new WaitingDialog("Installing", "Components");
waitingDlg.Text = "Install Components"; //CAN SEE THIS IN TITLE
waitingDlg.Show();
Но текст меток не можетбыть видимым, и его фон (размер текста) белый.
Надеюсь, это поможет.Если вам нужно больше, был бы рад поделиться больше.
Спасибо