C# 从另一个窗体获取数据
我在我的主窗体中有一个listview,我需要在文本框中获取值,并在其他窗体名称的标签中添加\u顺序C# 从另一个窗体获取数据,c#,C#,我在我的主窗体中有一个listview,我需要在文本框中获取值,并在其他窗体名称的标签中添加\u顺序 Add_Order add = new Add_Order(); ListViewItem item = new ListViewItem(); item.Text = add.textBox3.Text; item.SubItems.Add(add.label6.Text); item.SubItems.Add(add.textBox2.Text); item.SubItems.Add(add
Add_Order add = new Add_Order();
ListViewItem item = new ListViewItem();
item.Text = add.textBox3.Text;
item.SubItems.Add(add.label6.Text);
item.SubItems.Add(add.textBox2.Text);
item.SubItems.Add(add.textBox1.Text);
item.SubItems.Add(add.textBox3.Text);
mainform.listView2.Items.Add(item);
我个人不会在您的Add_订单中公开控件。您的调用表单不应该知道Add_Order表单的内部,而应该只知道它的公共方法和属性。我会创建一个公共方法,并使用它来检索您需要的信息。大概是这样的: 添加订单.cs
public partial class Add_Order : Form
{
public Add_Order()
{
InitializeComponent();
}
public List<string> GetData()
{
List<string> list = new List<string>();
list.Add(textBox3.Text);
list.Add(label6.Text);
list.Add(textBox2.Text);
list.Add(textBox1.Text);
return list;
}
}
public partial class Add_Order : Form
{
public Add_Order()
{
InitializeComponent();
}
public Info Get_Data()
{
return new Info() { _textBox3 = textBox3.Text,
_label6 = label6.Text,
_textBox2 = textBox2.Text,
_textBox1 = textBox1.Text,
};
}
}
struct Info
{
public string _textBox3;
public string _label6;
public string _textBox2;
public string _textBox1;
}
public partial class main : Form
{
public main()
{
InitializeComponent();
Get_Frm2_Data();
}
private void Get_Frm2_Data()
{
Add_Order frm2 = new Add_Order();
frm2.ShowDialog();
Info lst_data= frm2.Get_Data();
ListViewItem item = new ListViewItem();
item.Text = lst._textBox3;
item.SubItems.Add(lst._label6);
item.SubItems.Add(lst._textBox2);
item.SubItems.Add(lst._textBox1);
mainform.listView2.Items.Add(item);
}
}
public分部类添加顺序:表单
{
公共添加顺序()
{
初始化组件();
}
公共列表GetData()
{
列表=新列表();
list.Add(textBox3.Text);
添加列表(标签6.Text);
list.Add(textBox2.Text);
list.Add(textBox1.Text);
退货清单;
}
}
MainForm
private void button1_Click(object sender, EventArgs e)
{
Add_Order add = new Add_Order();
add.ShowDialog();
ListViewItem item = new ListViewItem();
List<string> data = add.GetData();
item.Text = data[0];
item.SubItems.Add(data[1]);
item.SubItems.Add(data[2]);
item.SubItems.Add(data[3]);
item.SubItems.Add(data[0]);
listView2.Items.Add(item);
}
private void按钮1\u单击(对象发送者,事件参数e)
{
添加订单添加=新添加订单();
add.ShowDialog();
ListViewItem=新建ListViewItem();
List data=add.GetData();
item.Text=数据[0];
项目.子项目.添加(数据[1]);
项目.子项目.添加(数据[2]);
项目.子项目.添加(数据[3]);
项.子项.添加(数据[0]);
listView2.Items.Add(项目);
}
我个人不会公开您的添加订单表单中的控件。您的调用表单不应该知道Add_Order表单的内部,而应该只知道它的公共方法和属性。我会创建一个公共方法,并使用它来检索您需要的信息。大概是这样的:
添加订单.cs
public partial class Add_Order : Form
{
public Add_Order()
{
InitializeComponent();
}
public List<string> GetData()
{
List<string> list = new List<string>();
list.Add(textBox3.Text);
list.Add(label6.Text);
list.Add(textBox2.Text);
list.Add(textBox1.Text);
return list;
}
}
public partial class Add_Order : Form
{
public Add_Order()
{
InitializeComponent();
}
public Info Get_Data()
{
return new Info() { _textBox3 = textBox3.Text,
_label6 = label6.Text,
_textBox2 = textBox2.Text,
_textBox1 = textBox1.Text,
};
}
}
struct Info
{
public string _textBox3;
public string _label6;
public string _textBox2;
public string _textBox1;
}
public partial class main : Form
{
public main()
{
InitializeComponent();
Get_Frm2_Data();
}
private void Get_Frm2_Data()
{
Add_Order frm2 = new Add_Order();
frm2.ShowDialog();
Info lst_data= frm2.Get_Data();
ListViewItem item = new ListViewItem();
item.Text = lst._textBox3;
item.SubItems.Add(lst._label6);
item.SubItems.Add(lst._textBox2);
item.SubItems.Add(lst._textBox1);
mainform.listView2.Items.Add(item);
}
}
public分部类添加顺序:表单
{
公共添加顺序()
{
初始化组件();
}
公共列表GetData()
{
列表=新列表();
list.Add(textBox3.Text);
添加列表(标签6.Text);
list.Add(textBox2.Text);
list.Add(textBox1.Text);
退货清单;
}
}
MainForm
private void button1_Click(object sender, EventArgs e)
{
Add_Order add = new Add_Order();
add.ShowDialog();
ListViewItem item = new ListViewItem();
List<string> data = add.GetData();
item.Text = data[0];
item.SubItems.Add(data[1]);
item.SubItems.Add(data[2]);
item.SubItems.Add(data[3]);
item.SubItems.Add(data[0]);
listView2.Items.Add(item);
}
private void按钮1\u单击(对象发送者,事件参数e)
{
添加订单添加=新添加订单();
add.ShowDialog();
ListViewItem=新建ListViewItem();
List data=add.GetData();
item.Text=数据[0];
项目.子项目.添加(数据[1]);
项目.子项目.添加(数据[2]);
项目.子项目.添加(数据[3]);
项.子项.添加(数据[0]);
listView2.Items.Add(项目);
}
您可以通过不同的方式将数据传递给其他表单,例如创建公共类以维护表单之间的数据公共数据,或者使用表单构造函数传递数据,如:
Add_Order frmAddOrder=new Add_Order(data1,data2);
frmAddOrder.show();
在您的添加顺序构造函数中:
public Add_Order (string data1,string data2)
{
InitializeComponent();
//you can access data1 and data2 here ...
}
您可以通过不同的方式将数据传递给其他表单,如创建公共类以维护表单之间的数据公共数据,或者使用表单构造函数传递数据,如:
Add_Order frmAddOrder=new Add_Order(data1,data2);
frmAddOrder.show();
在您的添加顺序构造函数中:
public Add_Order (string data1,string data2)
{
InitializeComponent();
//you can access data1 and data2 here ...
}
我给你写了一个简单的例子: 在添加订单表单中将元素
修饰符设置为true
:
并以主要形式获得:
public partial class main : Form
{
public main()
{
InitializeComponent();
Get_Frm2_Data();
}
private void Get_Frm2_Data()
{
Add_Order frm2 = new Add_Order();
List<string> info= new List<string>;
info.Add( frm2.textBox1.Text);
.
.
.
}
}
Mainform.cs
public partial class Add_Order : Form
{
public Add_Order()
{
InitializeComponent();
}
public List<string> GetData()
{
List<string> list = new List<string>();
list.Add(textBox3.Text);
list.Add(label6.Text);
list.Add(textBox2.Text);
list.Add(textBox1.Text);
return list;
}
}
public partial class Add_Order : Form
{
public Add_Order()
{
InitializeComponent();
}
public Info Get_Data()
{
return new Info() { _textBox3 = textBox3.Text,
_label6 = label6.Text,
_textBox2 = textBox2.Text,
_textBox1 = textBox1.Text,
};
}
}
struct Info
{
public string _textBox3;
public string _label6;
public string _textBox2;
public string _textBox1;
}
public partial class main : Form
{
public main()
{
InitializeComponent();
Get_Frm2_Data();
}
private void Get_Frm2_Data()
{
Add_Order frm2 = new Add_Order();
frm2.ShowDialog();
Info lst_data= frm2.Get_Data();
ListViewItem item = new ListViewItem();
item.Text = lst._textBox3;
item.SubItems.Add(lst._label6);
item.SubItems.Add(lst._textBox2);
item.SubItems.Add(lst._textBox1);
mainform.listView2.Items.Add(item);
}
}
我给你写了一个简单的例子:
在添加订单表单中将元素修饰符设置为true
:
并以主要形式获得:
public partial class main : Form
{
public main()
{
InitializeComponent();
Get_Frm2_Data();
}
private void Get_Frm2_Data()
{
Add_Order frm2 = new Add_Order();
List<string> info= new List<string>;
info.Add( frm2.textBox1.Text);
.
.
.
}
}
Mainform.cs
public partial class Add_Order : Form
{
public Add_Order()
{
InitializeComponent();
}
public List<string> GetData()
{
List<string> list = new List<string>();
list.Add(textBox3.Text);
list.Add(label6.Text);
list.Add(textBox2.Text);
list.Add(textBox1.Text);
return list;
}
}
public partial class Add_Order : Form
{
public Add_Order()
{
InitializeComponent();
}
public Info Get_Data()
{
return new Info() { _textBox3 = textBox3.Text,
_label6 = label6.Text,
_textBox2 = textBox2.Text,
_textBox1 = textBox1.Text,
};
}
}
struct Info
{
public string _textBox3;
public string _label6;
public string _textBox2;
public string _textBox1;
}
public partial class main : Form
{
public main()
{
InitializeComponent();
Get_Frm2_Data();
}
private void Get_Frm2_Data()
{
Add_Order frm2 = new Add_Order();
frm2.ShowDialog();
Info lst_data= frm2.Get_Data();
ListViewItem item = new ListViewItem();
item.Text = lst._textBox3;
item.SubItems.Add(lst._label6);
item.SubItems.Add(lst._textBox2);
item.SubItems.Add(lst._textBox1);
mainform.listView2.Items.Add(item);
}
}
创建表单时,字段中是否有值?此外,我认为您需要表单上的属性,这些属性将公开您可以在Mainform
上使用的各个字段的值。是的,我在字段上有值。添加订单表单已打开?尚未。。它只会在我单击一个按钮时打开。创建表单时,字段中是否有值?此外,我认为您需要表单上的属性,这些属性将公开您可以在Mainform
上使用的各个字段的值。是的,我在字段上有值。添加订单表单已打开?尚未。。它只会在我点击一个按钮时打开。我的类应该是什么样子的???@YOUn'Me你的意思是什么,我为你的Add_Order类提供的示例应该有效。您希望您的工作流如何工作。简而言之,你是按什么顺序做事的。我的班级应该是什么样子的???@YOUn'Me你的意思是什么,我给你的Add_order班级举的例子应该有用。您希望您的工作流如何工作。简言之,你做事的顺序是什么?我该怎么用这个??