我使用自定义的richtextbox控件创建了一个WinForms应用程序。
我在项目中将其称为Windows控件(dll文件)。在我的richtextbox程序中,我已经在其textchanged事件中编写了功能。
我希望仅在触发textchanged事件后才执行其他工作,或者在文本添加到文本框后以其他方式执行其他工作。像我想在text_changedevent中调用函数foo()之类的东西。它只调用foo并且无法处理底层的textchanged事件。
在C#中,我可以先处理内部的textchanged事件,然后查看我的文本更改事件吗?
想一想我为mytextbox_textchanged
编写代码的场景private void txt_code_TextChanged(object sender, EventArgs e)
{
//some code which will always be called whenever textchanged event occurs.
}
现在我在我的项目中继承了这个控件,说MyApp1。这里我有一个标签,我想显示文本框中包含的行数。所以我会写
private void my_inherited_txt_code_TextChanged(object sender, EventArgs e)
{
//code to update the label with my_inherited_txt_code.lines.length
}
所以我的问题是,我首先想要调用txt_code_TextChanged事件,然后在my_inherited_txt_code_TextChanged中编写代码。通过编写
解决了这个问题private void my_inherited_txt_code_TextChanged(object sender, EventArgs e)
{
base.OnTextChanged(e);
MessageBox.Show("foo");
}
答案 0 :(得分:1)
你的意思是:
protected override void OnTextChanged(EventArgs e)
{
base.OnTextChanged(e);
// your code here...
}
答案 1 :(得分:0)
我无法理解为什么你不能从textchanged事件中调用一个方法? 你有任何错误或究竟发生了什么?