나는 오늘 아침 내 머리를 아프게하고있다.목록 상자 높이가 다른 값으로 대체됩니까?
텍스트 상자와 목록 상자가있는 사용자 정의 컨트롤을 만들었습니다. 목록 상자는 텍스트 상자에 입력 된 텍스트가 들어있는 모든 항목을 표시해야합니다.
Like 검색 기능이있는 콤보 박스 여야합니다.
모든 검색은 목록 상자의 크기 조정 만 특정 지점에서 실패하고 어떤 문제인지 파악할 수 없습니다.
아래 코드는 완벽하게 실행됩니다. 그러나 viewableRows = 코드에서 1
콘솔 문
if (this.lbResults.Visible)
{
int viewableRows = this.lbResults.Items.Count;
Console.WriteLine(viewableRows.ToString());
if (viewableRows > this.maxItemsDisplayed)
{
viewableRows = this.maxItemsDisplayed;
}
Console.WriteLine(viewableRows.ToString());
int lbresults_height = ((viewableRows) * 15) ;
Console.WriteLine(lbresults_height);
this.ResizeControl(this.Width, this.txtSearch.Height + lbresults_height);
this.lbResults.Size = new Size(this.lbResults.Width, lbresults_height);
this.lbResults.Invalidate();
Console.WriteLine("Listbox Height: " + lbResults.Height.ToString());
}
else if(!this.lbResults.Visible)
{
this.ResizeControl(this.Width, this.txtSearch.Height);
}
출력에 의해 생성 된 출력 4-lbresult
lbresults
세트의 높이의 무효화 이후 :
1
1
15
목록 상자 높이 : 4
4로 설정해야하는 이유를 찾을 수 없습니다 ...
도와주세요.
"ResizeControl"문이란 무엇입니까? 그것은 당신이 스스로 정의한 것입니까? 뭔가 재설정 중입니까? 이 WinForms 또는 WPF입니까? N. – n4m16
@ 닉 나는 나 자신을 정의했다 – WillemT
@nick 내 대답을 보지 않습니까? 이 질문을 할 필요가 없습니다. 이 동작은 IntegralHeight 속성의 일반적인 출력입니다. – varocarbas