簡體   English   中英

ListView ColumnWidthChanged事件被“無故”觸發

[英]ListView ColumnWidthChanged Event gets fired 'without reason'

我有一個listview和一個ColumnWidthChanged事件的事件處理程序,每次用戶更改某些內容時,該事件處理程序都會在配置文件中存儲新的列大小。

我為在內部更改列的每個過程創建了標志,以便僅對用戶輸入做出反應。

仍然會在程序啟動時觸發此事件(對於listview中的每一列一次)。

調用堆棧僅顯示事件,“外部代碼”和主“ program.cs”。

我只是找不到事件從何處觸發。 有任何想法嗎?

您將需要在將ColumnWidthChanged事件連接到表單的Shown事件中的地方放置代碼。

發生的情況是ListView占用了表單上的物理空間,因此在構建表單時,它必須計算每列的大小。 因此,在將數據填充到其中時,這些列一旦擁有數據便會調整大小。 這就是為什么它在顯示之前為每列觸發一次。

至於為什么它不在DataGridView上觸發,我認為對象的大小就是添加到表單中的大小。 它將等待計算每列的大小,直到將DataGridView添加到窗體之后。 這是有點不直觀的行為,但這似乎就是您所看到的結果所發生的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM