引用 | 編輯
天之心
2011-07-18 23:40 |
樓主
▼ |
||
x0
請問各位大大.表單Form1呼叫Form2之後程式有2個地方衝突. (一)cnt = offset Mod ImageList1.Images.Count (二)e.Graphics.DrawImage(ImageList1.Images(cnt), dstRect, srcRect, GraphicsUnit.Pixel) 把這2個關掉之後便可以呼叫表單.要如何時這2個程式能夠完整運轉 有建立 ImageList1 元件 ImageList1 裡面有圖片 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form2.Show() End Sub Public Class Form2 .. 訪客只能看到部份內容,免費 加入會員 x0
|
引用 | 編輯
ebolaman
2011-07-19 08:21 |
1樓
▲ ▼ |
根據
(一)cnt = offset Mod ImageList1.Images.Count (二)e.Graphics.DrawImage(ImageList1.Images(cnt), dstRect, srcRect, GraphicsUnit.Pixel) 推斷 Mod 會發生錯誤通常都是因為 後面的數值是 0 例如 cnt = 100 Mod 0 就會發生錯誤 或是根本沒有 ImageList1 這個物件,這兩行的共通點就是都有使用到 ImageList1 這個物件 你有建立 ImageList1 元件嗎? 你的 ImageList1 裡面有圖片嗎? 如果以上都沒問題,希望你能給一下 ImageList1 的圖片,以及 offset 值 並給錯誤的敘述 (例如 溢位...) x0 |
引用 | 編輯
ebolaman
2011-07-19 23:58 |
2樓
▲ ▼ |
由於環境條件不足,我無法推斷錯誤發生的原因 (剛剛用你的 程式碼+圖片 模擬,並沒有任何錯誤發生)
請在錯誤發生的時候,選取錯誤的敘述文字,並且複製 (例如: 嘗試以零除。) 並在此貼上,並且敘述 發生錯誤在 哪行程式碼,以及什麼動作導致這個錯誤發生,以及時間點 (例如:剛開 Form2 的時候...或是跑一陣子,或是 Timer.Interval=300 的情況下,跑了 10 次...) 另外你可以插入一些 Debug 文字,例如 在發生問題的程式碼前插入這一行,並且 點選 功能表 >> Debug >> Windows >> Immediate (Ctrl + G) 複製程式 Debug.Print("offset=" & offset & ", cnt=" & cnt & " [dst] X=" & dstRect.X & ", Y=" & dstRect.Y) 則可以進一步釐清 問題的真相 x0 |
引用 | 編輯
天之心
2011-07-20 21:25 |
3樓
▲ ▼ |
請問大大 這一段在VB內我找不到 點選 功能表 >> Debug >> Windows >> Immediate (Ctrl + G)
(一)cnt = offset Mod ImageList1.Images.Count (一)[偵錯]嘗試以零除。 (二)e.Graphics.DrawImage(ImageList1.Images(cnt), dstRect, srcRect, GraphicsUnit.Pixel) (二)[偵錯]InvalidArgument='0' 不是 'index' 的有效值。 參數名稱: index Form2表單 單獨呼叫是可以正常運作.但是Form1表單呼叫Form2表單就會出現2個錯誤 正常表單呼叫表單應該是不會有錯誤訊息.我想會不會是呼叫表單不可以用Form2.Show() 類型呼叫 x0 |
引用 | 編輯
ebolaman
2011-07-20 22:20 |
4樓
▲ ▼ |
下面是引用 天之心 於 2011-07-20 21:25 發表的 : 你是不是把 ImageList1 放在 Form1 了? 我在 1樓有提過 這個錯誤 x0 |
引用 | 編輯
天之心
2011-07-21 18:30 |
5樓
▲ ▼ |
||||||||||
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form2.Show() End Sub Form1 表單只有這個 另外我傳上圖片
x0 |
引用 | 編輯
ebolaman
2011-07-21 19:42 |
6樓
▲ |
下面是引用 天之心 於 2011-07-21 18:30 發表的 : 在 Form2 的程式碼使用以下兩行 (一)cnt = offset Mod ImageList1.Images.Count (一)[偵錯]嘗試以零除。 (二)e.Graphics.DrawImage(ImageList1.Images(cnt), dstRect, srcRect, GraphicsUnit.Pixel) (二)[偵錯]InvalidArgument='0' 不是 'index' 的有效值。 參數名稱: index 時候會發生錯誤就明顯的代表著 ImageList1.Images.Count 這個值 是 0 也就代表著 ImageList1 這個物件的圖片的 總數是 0 就是說,沒有圖片在 ImageList1 裡面 請檢查一下 Form2 的 ImageList1 x1 |