C#将值传递到新形式
当点击一个按钮时,我发现windows窗体正在尝试将值从该窗体传递到新窗体。使用:C#将值传递到新形式,c#,.net,visual-studio,c#-4.0,C#,.net,Visual Studio,C# 4.0,当点击一个按钮时,我发现windows窗体正在尝试将值从该窗体传递到新窗体。使用: private void Edit_button_Click(object sender, EventArgs e) { for (int i = 0; i < listBox1.SelectedItems.Count; i++) { Edit item = new Edit(int.Parse(listBox1.
private void Edit_button_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBox1.SelectedItems.Count; i++)
{
Edit item = new Edit(int.Parse(listBox1.SelectedIndex.ToString()));
item.ShowDialog();
}
}
运行它,它会显示正确的内容,但不会将值传递给第二个窗体。
是否有方法将值传递给另一个窗体?添加属性
Edit item = new Edit();
item.Value = 5;
item.ShowDialog();
编辑:
必须定义此属性才能使用它。像这样扩展您的Edit
类:
class Edit {
...
public int Value { get; set; }
...
}
确保参数化构造函数的主体中有
InitiaizeComponent()
。由于此函数名指定,它将初始化表单的组件,这些组件是公司标签、文本框和按钮
我来告诉你怎么做
创建编辑表单的参数化构造函数。将该值传递到变量中
public class Edit
{
public int val = 0;
public Edit()
{
InitializeComponent();
}
public Edit(int a)
{
val = a;
InitializeComponent();
}
public void Edit_Load()
{
txtbox.Text = val.ToString();
}
}
并从第一个表单调用edit,如
Edit item = new Edit(5);
猜测一下:在您自己的构造函数中,您忘记调用initializeComponents()。这里有些奇怪。你能在表单编辑构造函数和表单加载事件中发布代码吗。这个循环似乎不太正确。(您打开的表单为每个选定项传递了相同的索引)我收到了以下错误“错误1不包含'Value'的定义,并且没有扩展方法'Value'接受类型为'company.Edit'的第一个参数”我该怎么办?
Edit item = new Edit(5);