测试了一下,可以使用自定义事件。
public partial class Form1 : Form{
//定义事件
public event EventHandler HScrollEvent
public event EventHandler VScrollEvent
public Form1()
{
InitializeComponent()
//注册事件
this.VScrollEvent += delegate
{
{ this.Text = "纵向滚动了!" }
}
}
protected override void WndProc(ref Message m)
{
//在输出窗口自己看对应的数字是多少
Debug.Print(m.Msg.ToString())
switch (m.Msg.ToString())
{
case "528"://我测试对应垂直滚动
//引发事件
if (this.VScrollEvent != null)
this.VScrollEvent(this, null)
break
case "你自己检测数字":
if (this.HScrollEvent != null)
this.HScrollEvent(this, null)
break
default:
break
}
base.WndProc(ref m)
}
private void button1_Click(object sender, EventArgs e)
{
this.Text = ""//清空便于对比
}
}
Panel滚动条实际作用不大,但是提问的功能可以实现。C#这门语言得优点就是和JAVA一样可以灵活创建类型和示例。拖一个Panel或者代码创建一个到窗体,在里面代码创建一个,尺寸是可以超出富容器范围的,再放一个滚动条控件或者画一个自己的滚动条组件,给滚动条鼠标事件控制值变化时,Panel容器内得Panel上下左右移动就可以了。
1、首先在VS工具箱中的“菜单和工具栏”找到ContextMenuStrip控件。2、其次双击添加,点击ContextMenuStrip右上方的小三角形。
3、最后打开编辑项就可以winform右键菜单时固定滚动条了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)