【问题标题】:C# checkedlistbox mouse enter/leave errorC#checkedlistbox鼠标进入/离开错误
【发布时间】:2013-09-17 10:08:20
【问题描述】:

我希望我的选中列表框在鼠标进入时扩大到一定大小,然后在鼠标离开后恢复到原来的大小。下面是代码。但是,当我选择了另一个程序并且我的鼠标在应用程序未处于活动状态时移到选中的列表框上时,我收到了一个错误。

关于如何修复的任何建议?

    private void checkedListBox1_MouseEnter(object sender, EventArgs e)
    {

        Search.ActiveForm.Height = 552;
        checkedListBox1.Height = 130;


    }

    private void checkedListBox1_MouseLeave(object sender, EventArgs e)
    {

            Search.ActiveForm.Height = 452;
            checkedListBox1.Height = 34;}

错误代码 - 对象引用未设置为对象的实例。

【问题讨论】:

  • 什么是Search?与checkedListBox1 有关系吗? Height你要更改的实际形式是什么?
  • 什么是Search.ActiveForm?,你可以在改变高度之前检查表格是否在最上面
  • 抱歉,Search 是应用程序的名称。搜索.cs。
  • SearchForm 对吗?
  • 你试过用this.Height = 552代替Search.ActiveForm.Height = 552;吗?

标签: c# visual-studio mouseevent checkedlistbox


【解决方案1】:

试试这个

private void checkedListBox1_MouseEnter(object sender, EventArgs e)
{
  checkedListBox1.Size = new Size(Width,Height);
}

【讨论】:

    【解决方案2】:

    这当然会起作用,因此不会引发异常,但我希望这也是您想要的:

    private void checkedListBox1_MouseEnter(object sender, EventArgs e)
    {
        if(Search.ActiveForm == null) return;
        Search.ActiveForm.Height = 552;
        checkedListBox1.Height = 130;
    }
    
    private void checkedListBox1_MouseLeave(object sender, EventArgs e)
    {
        if(Search.ActiveForm == null) return;
        Search.ActiveForm.Height = 452;
        checkedListBox1.Height = 34;
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多