在我的应用程序中,我只有3个RichTextboxes,我只创建了一个ContextMenuStrip,因为我不喜欢重复同一个contextmenu的相同代码的想法,以及所有上下文菜单选项3次来使用它与其他两个Richs,问题是我不知道如何为三个RichTextBoxes使用相同的ContextMenu。
例如,ContextMenuStrip的一个选项是“明文”,然后在过程中我需要指定RichTextbox对象名来清除文本:
Private Sub MenuItem_Clear_Text_Click(sender As Object, e As EventArgs) _
Handles MenuItem_Clear_Text.Click
RichTextBox_Affix.Clear()
End Sub如何动态地处理其他富文本框子中的clear方法?
(我不想同时清除3个富文本框的文本,我需要知道是哪个RichTextBox打开了Contextmenu,只在RichTextBox中清除文本)
我试图找到RichTextBox调用contextmenu以只处理该RichTextBox的contextmenu过程的必要信息,但我在contextmenu单击事件子程序的发送方或"e“变量中找到了任何信息。
发布于 2013-09-28 09:06:41
您可以从给定项获取ContextMenuStrip,并从它获取关联控件(RichTextBox)。样本代码:
Private Sub MenuItem_Clear_Text_Click(sender As Object, e As EventArgs) _
Handles MenuItem_Clear_Text.Click
Dim curContextMenu As ContextMenuStrip = DirectCast(DirectCast(sender, ToolStripItem).Owner, ContextMenuStrip)
Dim curRTB As RichTextBox = DirectCast(curContextMenu.SourceControl, RichTextBox)
curRTB.Clear()
End Subhttps://stackoverflow.com/questions/19065064
复制相似问题