Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net NumericUpDown控件的属性列表中缺少MouseMove事件_Vb.net_Winforms_Numericupdown - Fatal编程技术网

Vb.net NumericUpDown控件的属性列表中缺少MouseMove事件

Vb.net NumericUpDown控件的属性列表中缺少MouseMove事件,vb.net,winforms,numericupdown,Vb.net,Winforms,Numericupdown,我正在使用Visual Basic 2010 Express。当我向窗体添加NumericUpDown控件时,事件的属性列表不会显示MouseMove事件。我知道它存在,我可以使用AddHandler为它创建一个工作处理程序,但它就是不显示。它也不会出现在intellisense列表中 有没有一种方法可以“刷新”VisualStudio使其包含在内 来自其继承自的UpDownBase控件的源代码: [EditorBrowsable(EditorBrowsableState.Never)] [Br

我正在使用Visual Basic 2010 Express。当我向窗体添加NumericUpDown控件时,事件的属性列表不会显示MouseMove事件。我知道它存在,我可以使用AddHandler为它创建一个工作处理程序,但它就是不显示。它也不会出现在intellisense列表中


有没有一种方法可以“刷新”VisualStudio使其包含在内

来自其继承自的UpDownBase控件的源代码:

[EditorBrowsable(EditorBrowsableState.Never)]
[Browsable(false)]
public new event MouseEventHandler MouseMove
微软决定不公开。原因是,我猜,在该控件上使用MouseMove事件做任何事情都没有意义。它是一个由文本框和一些按钮组成的复合控件

如果公开该事件很重要,则必须从NumericUpDown控件继承并自己公开该事件:

public class MyUpDown : NumericUpDown {

  [Browsable(true)]
  [EditorBrowsable(EditorBrowsableState.Always)]
  public new event MouseEventHandler MouseMove {
    add { base.MouseMove += value; }
    remove { base.MouseMove -= value; }
  }
}
以及VB.Net版本:

Public Class MyUpDown
  Inherits NumericUpDown

  <Browsable(True)> _
  <EditorBrowsable(EditorBrowsableState.Always)> _
  Public Shadows Event MouseMove(sender As Object, e As MouseEventArgs)

  Protected Overrides Sub OnMouseMove(e As MouseEventArgs)
    MyBase.OnMouseMove(e)
    RaiseEvent MouseMove(Me, e)
  End Sub
End Class
公共类MyUpDown
继承NumericUpDown
_
_
公共阴影事件MouseMove(发送者作为对象,e作为MouseEventArgs)
MouseMove上的受保护覆盖子对象(e作为MouseEventArgs)
MyBase.OnMouseMove(e)
RaiseEvent鼠标移动(Me,e)
端接头
末级

来自其继承自的UpDownBase控件的源代码:

[EditorBrowsable(EditorBrowsableState.Never)]
[Browsable(false)]
public new event MouseEventHandler MouseMove
微软决定不公开。原因是,我猜,在该控件上使用MouseMove事件做任何事情都没有意义。它是一个由文本框和一些按钮组成的复合控件

如果公开该事件很重要,则必须从NumericUpDown控件继承并自己公开该事件:

public class MyUpDown : NumericUpDown {

  [Browsable(true)]
  [EditorBrowsable(EditorBrowsableState.Always)]
  public new event MouseEventHandler MouseMove {
    add { base.MouseMove += value; }
    remove { base.MouseMove -= value; }
  }
}
以及VB.Net版本:

Public Class MyUpDown
  Inherits NumericUpDown

  <Browsable(True)> _
  <EditorBrowsable(EditorBrowsableState.Always)> _
  Public Shadows Event MouseMove(sender As Object, e As MouseEventArgs)

  Protected Overrides Sub OnMouseMove(e As MouseEventArgs)
    MyBase.OnMouseMove(e)
    RaiseEvent MouseMove(Me, e)
  End Sub
End Class
公共类MyUpDown
继承NumericUpDown
_
_
公共阴影事件MouseMove(发送者作为对象,e作为MouseEventArgs)
MouseMove上的受保护覆盖子对象(e作为MouseEventArgs)
MyBase.OnMouseMove(e)
RaiseEvent鼠标移动(Me,e)
端接头
末级

您必须知道,即使将
MouseMove
MouseLeave
事件设置为
NumericUpDown
控件,它们也不会正常工作。如果你真的想处理
NumericUpDown
的文本框鼠标事件,你应该将它设置为
NumericUpDown
控件
集合的第二个元素(它将是
TextBox
部分)

像这样(C#语法):

myNumericUpDown->Controls[1]->MouseLeave+=gcnewsystem::EventHandler(this,&Form1::myNumericUpDown\u MouseLeave);
myNumericUpDown->Controls[1]->MouseMove+=gcnew System::Windows::Forms::MouseEventHandler(此,&Form1::myNumericUpDown\u MouseMove);

您必须知道,即使将
MouseMove
MouseLeave
事件设置为
NumericUpDown
控件,它们也不会正常工作。如果你真的想处理
NumericUpDown
的文本框鼠标事件,你应该将它设置为
NumericUpDown
控件
集合的第二个元素(它将是
TextBox
部分)

像这样(C#语法):

myNumericUpDown->Controls[1]->MouseLeave+=gcnewsystem::EventHandler(this,&Form1::myNumericUpDown\u MouseLeave);
myNumericUpDown->Controls[1]->MouseMove+=gcnew System::Windows::Forms::MouseEventHandler(此,&Form1::myNumericUpDown\u MouseMove);

add{}和remove{}行应该引用“base.MouseMove”,而不是“this.MouseMove”,否则会崩溃。add{}和remove{}行应该引用“base.MouseMove”,而不是“this.MouseMove”,否则会崩溃。