我有2个表格
表单1匹配数据。如果数据与数据表中的数据匹配,那么它将加载并传递数据行以形成2。
表单2仅用于在文本框中显示数据。
任何人都可以提供帮助吗?
添加:因为我的老板说消息框字体太小了....
以下是我的代码 Form1中
DataTable dt3 = new DataTable();
MySqlCommand com3 = new MySqlCommand("Select EmpNo , PrizeNo , TableNo , Year , EmpName From attendance2018 where Year=3 and Remark!='(Absent)'",con);
MySqlDataAdapter da3 = new MySqlDataAdapter(com3);
con.Open();
da3.Fill(dt3);
List<string> year3 = dt3.AsEnumerable().Select(x => x[0].ToString()).ToList();
for (int i = 0; i < year3.Count; i++)
{
if (year3[i].ToString().Trim().Equals(txtEmployeeID.Text))
{
txtStatusInsert.Visible = false;
picsuccess.Visible = false;
MessageBox.Show("The following Employee Table number is " + dt3.Rows[i]["TableNo"] + " and Number is " + dt3.Rows[i]["PrizeNo"], "Remind", MessageBoxButtons.OK);
Form2 form2 = new Form2(); <----- Do i need to add something to here?
form2.Show();
}
}
表格2
public partial class Form2 : Form
{
private Attendance pass = new Attendance();
public Form2()
{
InitializeComponent();
txtName.Enabled = false;
txtPrzNo.Enabled = false;
txtTableNo.Enabled = false;
txtYear.Enabled = false;
}
private void btnOK_Click(object sender, EventArgs e)
{
this.Close();
}
}
答案 0 :(得分:0)
您需要将要传递的变量添加到对新表单的调用的括号中,如下所示:
Form2 form2 = new Form2("variable here");
现在,在新表单中,我们需要将变量添加到表单构造函数的括号中,因为它将期望传递变量。
public Form2("here")
{
InitializeComponent();
txtName.Enabled = false;
txtPrzNo.Enabled = false;
txtTableNo.Enabled = false;
txtYear.Enabled = false;
}
现在可以将new中的元素设置为从第一个传递的变量。例如:
public Form2(type Variable)
{
InitializeComponent();
txtBoxExample.Text = Variable.data;
}
答案 1 :(得分:0)
基本上,有很多方法可以实现这一目标。
在表单2上,您可以创建一种从表单1获取数据的方法 例如: 表格1
int a = 11;
Form2 form2 = new Form2();
from2.getData(a);
Form2
public partial class Form2 : Form
{
private int my_number;
public void getData(int input){
my_number = input;
}
}
或者只是简单地使用Form 2构造函数 例如: 表格1
int a = 11;
Form2 form2 = new Form2(a);
Form2
public partial class Form2 : Form
{
private int my_number;
public Form2(int input)
{
InitializeComponent();
txtName.Enabled = false;
txtPrzNo.Enabled = false;
txtTableNo.Enabled = false;
txtYear.Enabled = false;
my_number = input;
}
}