刷新窗体以更新新条目并将其保存在Visual Studio/C#的组合框中

本文关键字:Studio Visual 组合 存在 保存 更新 窗体 新条目 刷新 | 更新日期: 2023-09-27 18:33:20

我已经设置了我的程序,以便用户可以通过单独表单(弹出表单)上的文本框在组合框中输入新行。到目前为止,程序允许新条目并在用户按下"接受"按钮时关闭弹出表单,但该条目不会出现在组合框中,并且该条目未保存。

目前,查看新条目的唯一方法是通过 .显示对话框();函数,打开第一个窗体的第二个实例。

表格 2

namespace RRAS
{
    public partial class NewRFRPopup : Form
    {
        public NewRFRPopup()
        {
            InitializeComponent();
        }
        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void btnAccept_Click(object sender, EventArgs e)
        {
            formRRAS main = new formRRAS();
            string newRFR = txtNewRFR.Text;
            main.AddRFR(newRFR);
            this.Close();
            main.ShowDialog();
        }
        private void NewRFRPopup_Load(object sender, EventArgs e)
        {
        }
    }
}

表格 1 中的添加RFR

 public void AddRFR(object item)
        {
            cmbRFR.Items.Add(item);
        }

刷新窗体以更新新条目并将其保存在Visual Studio/C#的组合框中

您将

在接受处理程序中创建 form1 的新实例:

formRRAS main = new formRRAS();

(这就是为什么当你调用showdialog时,你会得到另一个formRRAS出现)。

您需要将原始 formRRAS 传递给弹出窗口,并在传递的实例上调用 AddRFR。 我会将其传递给弹出窗口的构造函数 - 即

public partial class NewRFRPopup : Form
{
formRRAS _main;
 public NewRFRPopup(formRRAS main)
 {
  InitializeComponent();
  _main = main;
 }

然后在接受处理程序中:

 string newRFR = txtNewRFR.Text;
 _main.AddRFR(newRFR);
 this.Close();

当然,还要显示表单RRAS的弹出窗口

NewRFRPopup popup = new NewRFRPopup (this);
popup.ShowDialog();