![](/img/trans.png)
[英]Button_click event fired again without reason (Barcode reader involved)
[英]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.