C# 从其他窗体获取文本框值
表格1: 表格2:C# 从其他窗体获取文本框值,c#,C#,表格1: 表格2: public partial class FrmMain : Form { OleDbCommand cmd = new OleDbCommand(); OleDbConnection cn = new OleDbConnection(); public FrmMain() { InitializeComponent(); } public string Use = String.Empty; pr
public partial class FrmMain : Form
{
OleDbCommand cmd = new OleDbCommand();
OleDbConnection cn = new OleDbConnection();
public FrmMain()
{
InitializeComponent();
}
public string Use = String.Empty;
private void btnLogin_Click_1(object sender, EventArgs e)
{
Use = txtUsername.Text;
}
}
我想做一个程序,你可以把数据记录到数据库里。我需要将我在文本框中输入的用户名输入到另一个表单中,但用户名不会记录到ms access数据库中。发生这种情况是因为您在此行中创建了一个新的
FrmMain实例:
private void button1_Click(object sender, EventArgs e)
{
string theDate1 = dateTimePicker1.Value.ToString("yyyy-MM-dd");
string theDate2 = dateTimePicker2.Value.ToString("yyyy-MM-dd");
dateTimePicker1.MaxDate = dateTimePicker2.Value;
FrmMain Form = new FrmMain();
string username = Form.Use;
if (cboFrom.Text != "" && cboTo.Text != "" && Adults.Text != "" && Children.Text != "" && dateTimePicker2.Value > dateTimePicker1.Value)
{
string q = "insert into Booking([Departure], [Return], [From], [To],[Adults],[Children],[Username]) values ('"
+ theDate1.ToString() + "', '" + theDate2.ToString() + "','" + cboFrom.Text + "','"
+ cboTo.Text + "','" + Children.Text + "','" + Adults.Text + "', '" + username + "')";
dosomething(q);
MessageBox.Show("Success");
}
}
另一种方法是在调用Form2
时传递字符串。像
FrmMain Form = new FrmMain();
或者另一种方法是使字符串使用
静态,并从Form2
调用它,而不创建新实例:
Form2 f2 = new Form2();
f2.Username = txtUsername.Text;
f2.ShowDialog();
FrmMain Form=new FrmMain()
创建FrmMain
类的新实例。您需要引用已经存在的名称…输入用户名的名称。FrmMain Form1=new FrmMain()string username=Form1。使用
// FrmMain
public static string Use { get; set; }
// Form2
string username = FrmMain.Use;