public partial class A: Form
{
int cm;
float backNumer;//存放可退的最大数量
public A(ref int icm)
{
InitializeComponent();
cm = icm;
}
private void m_OK_Click(object sender, EventArgs e)//OK按钮的单击事件中改变观的值
{
cm=cm+1;
this.DialogResult=DialogResult.OK;
}
}public partial class B: Form
{
int cm=0;
private void button_Click(object sender, EventArgs e)
{
A a=new A(ref cm);
if(a.ShowDialog()==DialogResult.OK)
{
//此处发现cm的值没有改变。
}
}
}如何在A中改变cm的值时,使B中对应值也得到改变。
{
int cm;
float backNumer;//存放可退的最大数量
public A(ref int icm)
{
InitializeComponent();
cm = icm;
}
private void m_OK_Click(object sender, EventArgs e)//OK按钮的单击事件中改变观的值
{
cm=cm+1;
this.DialogResult=DialogResult.OK;
}
}public partial class B: Form
{
int cm=0;
private void button_Click(object sender, EventArgs e)
{
A a=new A(ref cm);
if(a.ShowDialog()==DialogResult.OK)
{
//此处发现cm的值没有改变。
}
}
}如何在A中改变cm的值时,使B中对应值也得到改变。
public A(ref int icm)
{
InitializeComponent();
cm = icm;
}
中并没有改变icm的值啊,只是把它的值赋给一个变量cm而已,至于A中后来的按钮事件中改变
变量cm的值跟传进来的icm(虽然是传址)一点关系都没有 LZ是不是写错了
原因如上所说。
这里是值赋值。
如何达到我想要的结果??这才是我关心的,这里要怎么写。
{
delegate int MyDelegate();
MyDelegate cm;
float backNumer;//存放可退的最大数量
public A(ref int icm)
{
InitializeComponent();
cm = new MyDelegate(icm);
}
private void m_OK_Click(object sender, EventArgs e)//OK按钮的单击事件中改变观的值
{
cm=cm+1;
this.DialogResult=DialogResult.OK;
}
}public partial class B: Form
{
int cm=0;
private void button_Click(object sender, EventArgs e)
{
A a=new A(ref cm);
if(a.ShowDialog()==DialogResult.OK)
{
MessageBox.Show(cm.ToString();
}
}
}
我这的所有应用程序基本上被删完了,也没得安装,提示无法访问Windows Installer,但这现在原则是,只要还能启动就不重装,打死也不装。
帮试上面的代码行不,我只有回家才有得试。