[問題] 自訂Cell遇到RowIndex=-1
剛剛研究datagridview的其他屬性時才發現 http://i.imgur.com/2EQS9qA.png

應該這就是解答了吧
==============================================================================
手上的案子有個需求,需要將某個class C加入datagridview中 (使用vc# 2010 express)
因此我實作了對應的
SubColumn:DataGridViewColumn 和
SubCell:DataGridViewCell
而我希望view可以按照cell的內容調整大小
所以在SubCell中override GetPreferredSize()函式
但在執行程式的時候,在我自己寫的SubCell.GetPreferredSize()裡面會收到
ArgumentOutOfRangeException,原因是this.RowIndex的值是-1
想問的是,為什麼會有這樣的情況出現
雖然可以先檢查RowIndex的範圍,超出範圍直接回傳base.GetPreferredSize()來迴避
但我想知道是在程式流程中的哪個過程產生這個情況,代表涵義是什麼
如果有了解原因的版友希望能替我解惑,有需要的話我再補充更詳細的情境描述
--
Looking for the place where a heart feels at ease.
Then, aim at the new future.
While it doesn't know, scene changes someday,
and very warm wind will blow in place.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.208.83.253
→
04/17 17:44, , 1F
04/17 17:44, 1F
debug過的意思是?
我下中斷點看過,在dataGridView.Rows.Add(n)之後
會進到GetPreferredSize()裡面n+1次,前n次RowIndex=0,第n+1次RowIndex=-1
→
04/17 23:24, , 2F
04/17 23:24, 2F
我知道這樣可以解決,但是想知道出現這情況的原因...
→
04/18 01:04, , 3F
04/18 01:04, 3F
→
04/18 01:05, , 4F
04/18 01:05, 4F
→
04/18 01:06, , 5F
04/18 01:06, 5F
所以我發這篇文就是想搞清楚啊...
在發這篇文之前,我也在網路上找過蠻多次就是沒找到答案
如果有的話,我也想找到各元件詳細運作流程文件大全之類的來看,官方更佳
更甚者,最好可以有source code直接查,連問都不用問,偏偏這東西是微軟的
※ 編輯: mimi9126 來自: 114.43.94.3 (04/18 01:23)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章