2013-09-17 2 views
0

Я хочу, чтобы мой проверочный список расширялся до определенного размера, когда мышь входит, а затем возвращается к исходному размеру после того, как листья мыши. Ниже приведен код. Тем не менее, я получаю сообщение об ошибке, когда у меня выбрана другая программа, и моя мышь перебирает контрольный список, пока приложение неактивно.C# checklistbox mouse ввести/оставить ошибку

Любые предложения о том, как исправить?

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;} 

Код ошибки - Ссылка на объект не установлена ​​в экземпляр объекта.

+2

Что такое 'Search'? любые отношения с 'checkedListBox1'? Какую форму вы хотите изменить «Высота»? –

+0

Что такое 'Search.ActiveForm' ?, вы можете проверить, является ли форма самой большой, прежде чем менять высоту. – Sayse

+0

Sry, Search - это имя приложения. Search.cs. –

ответ

0

Попробуйте

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

Это, конечно, будет работать так, что исключение не кинули, но я надеюсь, что это также то, что вы хотите:

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; 
}