Я имею в виду информацию из моего предыдущего вопроса , в которой подробно рассказывается, как обновить текстовое поле в форме 1 из формы 2.
Я дважды проверил все, и у меня все еще естьпроблема при обновлении текстового поля.При нажатии кнопки он должен отображать содержимое в txtDisplay в MainWindow с помощью параметра ChangeTextBox.Но это не так.
Я что-то здесь упустил?Если нет, как я могу исправить эту проблему?
Код с проблемой:
private void btnAddEntry_Click(object sender, EventArgs e)
{
// Making sure that type is selected.
if (cmbType.SelectedIndex == -1)
{
MessageBox.Show("Please select entry type!", "Error!",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
// Each field must be filled for specified type.
// Here we are checking if all fields were filled.
else if ((cmbType.SelectedIndex == 0 && (txtUserName.Text == string.Empty || txtPassword.Text == string.Empty)) ||
(cmbType.SelectedIndex == 1 && (txtURL.Text == string.Empty || txtPassword.Text == string.Empty)) ||
(cmbType.SelectedIndex == 2 && (txtSoftwareName.Text == string.Empty || txtSerialCode.Text == string.Empty)))
{
MessageBox.Show("Please fill all the fields!", "Error!",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
int totalEntries = 0;
mainWindow = new MainWindow();
if(cmbType.SelectedIndex == 0)
{
addedEntry.Add(new AddPC(cmbType.Text, txtUserName.Text, txtPassword.Text));
}
else if(cmbType.SelectedIndex == 1)
{
addedEntry.Add(new AddWebSite(cmbType.Text, txtUserName.Text, txtPassword.Text, txtURL.Text));
}
else if(cmbType.SelectedIndex == 2)
{
addedEntry.Add(new AddSerialCode(cmbType.Text, txtSoftwareName.Text, txtSerialCode.Text));
}
StringBuilder stringBuilder = new StringBuilder();
foreach (var list in addedEntry)
{
if (list is AddPC)
{
totalEntries++;
AddPC tmp = (AddPC)list;
stringBuilder.Append(tmp.ToString());
}
else if (list is AddWebSite)
{
totalEntries++;
AddWebSite tmp = (AddWebSite)list;
stringBuilder.Append(tmp.ToString());
}
else if (list is AddSerialCode)
{
totalEntries++;
AddSerialCode tmp = (AddSerialCode)list;
stringBuilder.Append(tmp.ToString());
}
}
mainWindow.ChangeTextBox = stringBuilder.ToString();
// The foreach loop works and display because content is showing here.
MessageBox.Show(stringBuilder.ToString());
// Clearing all fields.
ClearFields();
}
}
Надеюсь на помощь.
С уважением.