从另一个表单捕获文本框事件
Catch Textbox event from another Form
我的表单中有一个事件:
public void filterByType_TextChanged(object sender, EventArgs e)
{
dSearch = new D_Search(this);
dSearch.filterD(); }
调用另一个 class 中的函数。我想要做的是我想在我的 class 中注意到哪个文本框被更改并做一些事情。所以有多个像上面的函数,它们都调用了我的 DSearch class 中的 "filterD()" 函数。我试过了
if (sender == form1.filterByType_TextChanged)
{ sqlCmd = new SqlCommand("SELECT * FROM" } //SQL Statement
}
datTable = new DataTable();
sqlDatAdapter = new SqlDataAdapter(sqlCmd.CommandText,
connection);
sqlDatAdapter.Fill(datTable);
form1.setDataGrid = datTable;
但他找不到"sender"我也尝试在我的表单中的函数中创建一个新按钮并传递它,但它似乎不起作用。
试试这个 -
形式 1
private void textBox1_TextChanged(object sender, EventArgs e)
{
var dSearch = new D_Search(this);
MessageBox.Show(dSearch.filterD(sender));
}
D_Search class
public class D_Search
{
Form1 frm = null;
public D_Search(Form1 frm1)
{
frm = frm1;
}
public string filterD(object sender)
{
string val = String.Empty;
if (sender == frm.textBox1)
{
val = (sender as TextBox).Text;
}
return val;
}
}
另外,如果您想访问其他 class 中的 filterByType_TextChanged
文本框,则将其修饰符 属性 更改为 Internal
我的表单中有一个事件:
public void filterByType_TextChanged(object sender, EventArgs e)
{
dSearch = new D_Search(this);
dSearch.filterD(); }
调用另一个 class 中的函数。我想要做的是我想在我的 class 中注意到哪个文本框被更改并做一些事情。所以有多个像上面的函数,它们都调用了我的 DSearch class 中的 "filterD()" 函数。我试过了
if (sender == form1.filterByType_TextChanged)
{ sqlCmd = new SqlCommand("SELECT * FROM" } //SQL Statement
}
datTable = new DataTable();
sqlDatAdapter = new SqlDataAdapter(sqlCmd.CommandText,
connection);
sqlDatAdapter.Fill(datTable);
form1.setDataGrid = datTable;
但他找不到"sender"我也尝试在我的表单中的函数中创建一个新按钮并传递它,但它似乎不起作用。
试试这个 -
形式 1
private void textBox1_TextChanged(object sender, EventArgs e)
{
var dSearch = new D_Search(this);
MessageBox.Show(dSearch.filterD(sender));
}
D_Search class
public class D_Search
{
Form1 frm = null;
public D_Search(Form1 frm1)
{
frm = frm1;
}
public string filterD(object sender)
{
string val = String.Empty;
if (sender == frm.textBox1)
{
val = (sender as TextBox).Text;
}
return val;
}
}
另外,如果您想访问其他 class 中的 filterByType_TextChanged
文本框,则将其修饰符 属性 更改为 Internal