C#子窗体关闭后刷新父窗体
//form1中“修改”按钮事件privatevoideditButton_Click(objectsender,EventArgse){ListViewItemLVIt...
//form1中“修改”按钮事件
private void editButton_Click(object sender, EventArgs e)
{
ListViewItem LVItems = listView1.FocusedItem;
datasourceInfoFrom dsInfoForm = new datasourceInfoFrom();
dsInfoForm.Show();
dsInfoForm.textService.Text = LVItems.SubItems[0].Text;
dsInfoForm.comboType.Text = LVItems.SubItems[1].Text;
dsInfoForm.textUsername.Text = LVItems.SubItems[2].Text;
dsInfoForm.textPassword.Text = LVItems.SubItems[3].Text;
dsInfoForm.textService.Enabled = false;
}
弹出窗口的代码为:
//form2中“修改”按钮事件
private void saveButton_Click(object sender, EventArgs e)
{
XElement xel = XElement.Load("C:\\DataConfig.xml");
var item = from x in xel.Descendants("Connection")
where (string)x.Element("database") == textService.Text
select x;
foreach (var c in item)
{
c.Element("basetype").ReplaceWith(new XElement("basetype", comboType.Text));
c.Element("username").ReplaceWith(new XElement("username", textUsername.Text));
c.Element("password").ReplaceWith(new XElement("password", textPassword.Text));
}
xel.Save("C:\\DataConfig.xml");
MessageBox.Show("数据源信息修改成功!");
this.Close();
}
怎么能让form2中修改点击以后,form1中的列表刷新,显示修改后内容?
form2打开的时候,form1是不关闭的 展开
private void editButton_Click(object sender, EventArgs e)
{
ListViewItem LVItems = listView1.FocusedItem;
datasourceInfoFrom dsInfoForm = new datasourceInfoFrom();
dsInfoForm.Show();
dsInfoForm.textService.Text = LVItems.SubItems[0].Text;
dsInfoForm.comboType.Text = LVItems.SubItems[1].Text;
dsInfoForm.textUsername.Text = LVItems.SubItems[2].Text;
dsInfoForm.textPassword.Text = LVItems.SubItems[3].Text;
dsInfoForm.textService.Enabled = false;
}
弹出窗口的代码为:
//form2中“修改”按钮事件
private void saveButton_Click(object sender, EventArgs e)
{
XElement xel = XElement.Load("C:\\DataConfig.xml");
var item = from x in xel.Descendants("Connection")
where (string)x.Element("database") == textService.Text
select x;
foreach (var c in item)
{
c.Element("basetype").ReplaceWith(new XElement("basetype", comboType.Text));
c.Element("username").ReplaceWith(new XElement("username", textUsername.Text));
c.Element("password").ReplaceWith(new XElement("password", textPassword.Text));
}
xel.Save("C:\\DataConfig.xml");
MessageBox.Show("数据源信息修改成功!");
this.Close();
}
怎么能让form2中修改点击以后,form1中的列表刷新,显示修改后内容?
form2打开的时候,form1是不关闭的 展开
4个回答
展开全部
给你个例子
假设你的主窗口是Mainform,子窗口是form
1。找到MainForm.Designer.cs
2.把你要刷新的控件的类型改成public
比如
private System.Windows.Forms.listBox listBox1;
改成
public System.Windows.Forms.listBox listBox1;
3.在你打开子窗口的地方加上代码
form form = new form();
form.MainForm = this;
form.ShowDialog();
4.在form.cs中添加
public MainForm MainForm;
5.在修改按钮的地方添加代码
比如
MainForm.listBox1.reflush();
完成
假设你的主窗口是Mainform,子窗口是form
1。找到MainForm.Designer.cs
2.把你要刷新的控件的类型改成public
比如
private System.Windows.Forms.listBox listBox1;
改成
public System.Windows.Forms.listBox listBox1;
3.在你打开子窗口的地方加上代码
form form = new form();
form.MainForm = this;
form.ShowDialog();
4.在form.cs中添加
public MainForm MainForm;
5.在修改按钮的地方添加代码
比如
MainForm.listBox1.reflush();
完成
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
传递这个实例,invoke一个公开的实例的方法(这个方法用来刷新)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用父子窗体!或写一方法!在check事件中调用!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
窗体的继承可以实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询