C# winform窗口刷新
如图,点击sell界面的会员,打开FindVip界面,在FindVip界面中的datagridview中选中相应信息后点确定,将选定的信息显示到sell界面中的会员信息中...
如图,点击sell界面的会员,打开FindVip界面,在FindVip界面中的datagridview中选中相应信息后点确定,将选定的信息显示到sell界面中的会员信息中,现在遇到的问题是,在FindVip界面点击确定后只有新打开sell窗口才会显示内容,而不是在原来的最先那个sell界面显示
sell窗口的代码:
public FindVip fv = null;
private void Sell_Load(object sender, EventArgs e)
{
showfv();
}
//显示会员信息
public void showfv()
{
if (fv != null)//判断FV是否为空,若为空的话,则表示为对其赋值,则不执行下列语句
{
this.textBox1.Text = fv.findv[1].ToString();
this.textBox2.Text = fv.findv[0].ToString();
this.textBox3.Text = fv.findv[2].ToString();
}
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
FindVip fv = new FindVip();
fv.ShowDialog();
}
FindVip界面的代码
public string[] findv;
private void button2_Click(object sender, EventArgs e)
{
Sell ss=new Sell();
using (SqlCommand comd = new SqlCommand("select 编号,姓名,折扣 from 会员表 where 编号='" + id + "'", Sanck.con))
{
Sanck.con.Open();
SqlDataReader dr = comd.ExecuteReader();
if (dr.HasRows)
{
ss.fv = this;
dr.Read();
this.findv = new string[3] { dr[0].ToString(), dr[1].ToString(), dr[2].ToString() };
}
dr.Close();
Sanck.con.Close();
}
this.Close();
//ss.ShowDialog();
} 展开
sell窗口的代码:
public FindVip fv = null;
private void Sell_Load(object sender, EventArgs e)
{
showfv();
}
//显示会员信息
public void showfv()
{
if (fv != null)//判断FV是否为空,若为空的话,则表示为对其赋值,则不执行下列语句
{
this.textBox1.Text = fv.findv[1].ToString();
this.textBox2.Text = fv.findv[0].ToString();
this.textBox3.Text = fv.findv[2].ToString();
}
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
FindVip fv = new FindVip();
fv.ShowDialog();
}
FindVip界面的代码
public string[] findv;
private void button2_Click(object sender, EventArgs e)
{
Sell ss=new Sell();
using (SqlCommand comd = new SqlCommand("select 编号,姓名,折扣 from 会员表 where 编号='" + id + "'", Sanck.con))
{
Sanck.con.Open();
SqlDataReader dr = comd.ExecuteReader();
if (dr.HasRows)
{
ss.fv = this;
dr.Read();
this.findv = new string[3] { dr[0].ToString(), dr[1].ToString(), dr[2].ToString() };
}
dr.Close();
Sanck.con.Close();
}
this.Close();
//ss.ShowDialog();
} 展开
2个回答
展开全部
因为你问的实际上是个带有普遍性的问题,
所以我用普遍性的代码来回答你。
你新建一个窗体类型的工程,名为自定义事件示例。
代码如下,点击弹出的form2的按钮,可以看到form1实时更新。
namespace 自定义事件示例
{
public partial class Form1 : Form
{
Form2 f2 = new Form2();//注意定义的位置
public Form1()
{
InitializeComponent();
f2.f2Event += Handlef2Event;//注意写法
}
private void Form1_Load(object sender, EventArgs e)
{
f2.Show();
}
private void Handlef2Event(object sender, EventArgs e)
{
this.Text = "弹出的窗体中有更新!";
}
}
}
namespace 自定义事件示例
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public EventHandler f2Event;//定义事件
private void button1_Click(object sender, EventArgs e)
{
f2Event(null, null);//触发
}
}
}
展开全部
private void toolStripButton1_Click(object sender, EventArgs e)
{
FindVip fv = new FindVip();
fv.ShowDialog();
if(fv.DialogResult==DialogResult.OK)
{
//刷新的代码
}
}
private void button2_Click(object sender, EventArgs e)
{
Sell ss=new Sell();
using (SqlCommand comd = new SqlCommand("select 编号,姓名,折扣 from 会员表 where 编号='" + id + "'", Sanck.con))
{
Sanck.con.Open();
SqlDataReader dr = comd.ExecuteReader();
if (dr.HasRows)
{
ss.fv = this;
dr.Read();
this.findv = new string[3] { dr[0].ToString(), dr[1].ToString(), dr[2].ToString() };
}
dr.Close();
Sanck.con.Close();
}
this.DialogResult=DialogResult.OK;
}
{
FindVip fv = new FindVip();
fv.ShowDialog();
if(fv.DialogResult==DialogResult.OK)
{
//刷新的代码
}
}
private void button2_Click(object sender, EventArgs e)
{
Sell ss=new Sell();
using (SqlCommand comd = new SqlCommand("select 编号,姓名,折扣 from 会员表 where 编号='" + id + "'", Sanck.con))
{
Sanck.con.Open();
SqlDataReader dr = comd.ExecuteReader();
if (dr.HasRows)
{
ss.fv = this;
dr.Read();
this.findv = new string[3] { dr[0].ToString(), dr[1].ToString(), dr[2].ToString() };
}
dr.Close();
Sanck.con.Close();
}
this.DialogResult=DialogResult.OK;
}
追问
界面该如何刷新啊
追答
你SELL不是页面打开就刷新了吗?不就是FORM_LAOD里面的代码。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询