我有一个简单的情况(.NET2):UserControl1上的texbox1 (或Form1)。
当我单击usercontrol/form (将usercontrol/form改为焦点):时,我希望取消对文本框的关注(离开)
本人在校务委员会/表格上作以下工作:
Protected Overrides Sub OnMouseClick _
(ByVal e As System.Windows.Forms.MouseEventArgs)
MyBase.OnMouseClick(e)
Me.Focus()
End Sub
为了给用户提供视觉提示,我编写了高亮显示当前焦点文本框的代码。我的问题是,如果我有10个带有文本框的表单,我想为它们提供相同的代码。我是否必须复制它,或者我可以使用全局方法?如果是这样的话,举个例子会很有帮助。谢谢。
代码如下。
Private Sub FocusChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim txt As TextBox = sender
If txt.Focused Then
txt.Tag = txt.BackColor
txt.BackColor = Co
我有许多文本框(大约10个)在一种形式。我希望文本框中的文本在被犯规时被高亮。该代码如下所示:
Private Sub txtBillNo_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtBillNo.GotFocus
HoverText(txtBillNo)
End Sub
Private Sub HoverText(ByRef ctrl as TextBox)
ctrl.SelectAll()
End Sub
它工作得很好,但是我想我可以在这里做一些代码优化。由于我
我已经将我的问题简化为下面的代码,它可以简单地放到LinqPad中运行。
问题是当我通过托管在WinForms MDI子框中的WPF控件时-焦点在文本框之间移动,直到最后一点焦点跳到第二个MDI子(在我的示例中,这是所有WinForms,文本框之间的选项卡在那里工作得很好)。
如何防止WPF选项卡从一个MDI子框切换到另一个MDI子程序,并将焦点保留在WPF文本框中。(如果WinForms控件出现在ElementHost之前/之后,那么理想情况下,焦点将从WinForms转移到WPF到WinForms,然后返回到第一个WinForms。)
var mdiParent = new Form();
我已经创建了一个TextBox控件:
public class MyTextbox : TextBox
这只是一个普通的TextBox,我在其中添加了一个行为,我已经写了如下:
public class TextBoxCutCopyPasteBehavior : Behavior<TextBox>
一切运行良好和花花公子:右击将显示一个ContextMenu与剪切,复制,粘贴选项。然而,由于TextBox失去了焦点,TextBox文本在这一点上不再突出显示。
即使在ContextMenu出现并且TextBox失去焦点之后,怎样才能使选定的文本保持高亮显示呢?
非常感谢你的帮