我想在我的RichTextBox中添加一个MouseEnter事件处理程序,我在tabcontrol中有这个处理程序。以下代码获取当前选定的RichTextBox:
private RichTextBox GetRichTextBox()
{
RichTextBox rtb = null;
TabPage tp = tabControl1.SelectedTab;
if (tp != null)
{
rtb = tp.Controls[0] as RichTextBox;
}
return rtb;
}
下一个代码是我用RichTextBox创建新标签的代码:
TabPage tp = new TabPage("New Document");
RichTextBox rtb = new RichTextBox();
rtb.Dock = DockStyle.Fill;
tp.Controls.Add(rtb);
tabControl1.TabPages.Add(tp);
我不知道如何为创建的RichTextBox创建鼠标输入事件处理程序。任何有关这方面的帮助将不胜感激。
答案 0 :(得分:0)
在创建RichTextBox的同一位置,您可以向所需的任何事件添加事件处理程序。简单地做这样的事情:
RichTextBox rtb = new RichTextBox();
// the rest of your code...
rtb.MouseEnter += rtb_MouseEnter;
void rtb_MouseEnter(object sender, EventArgs e)
{
// Do what ever you want here...
}
答案 1 :(得分:0)
创建鼠标侦听器,将鼠标侦听器添加到需要它们的对象中。
....
TabPage tp = new TabPage("New Document");
RichTextBox rtb = new RichTextBox();
rtb.Dock = DockStyle.Fill;
//Add listener
rtb.MouseClick += new MouseEventHandler(Control1_MouseClick);
tp.Controls.Add(rtb);
tabControl1.TabPages.Add(tp);
...
}
private void Control1_MouseClick(Object sender, MouseEventArgs e) {
//Stuff
}
答案 2 :(得分:0)
您可以使用RichTextBox类的“OnMouseEnter”事件。只需在创建RichTextBox对象时注册该事件:
TabPage tp = new TabPage("New Document");
RichTextBox rtb = new RichTextBox();
rtb.MouseEnter += MyHandler;
rtb.Dock = DockStyle.Fill;
tp.Controls.Add(rtb);
tabControl1.TabPages.Add(tp);
然后将您想要执行的代码放在eventhandler中:
private void MyHandler(object s, EventArgs e)
{
// code to be executed on mouse enter
}
此外,您应该在适当的时候取消注册您的活动。
答案 3 :(得分:0)
在将RichTextBox添加到选项卡控件
之前,为其添加一个事件处理程序rtb.MouseEnter += new EventHandler(TabControlMouseEnterEvent);
然后创建事件处理程序
private void TabControlMouseEnterEvent(object sender, EventArgs e)
{
RichTextBox rt = (RichTextBox)sender;
// do something with selected Rich Text Box
}
希望这有帮助。