[問題] vc++ 繪圖問題

看板C_and_CPP (C/C++)作者 (天)時間15年前 (2010/12/03 17:29), 編輯推噓4(407)
留言11則, 3人參與, 最新討論串1/3 (看更多)
大家好:) 我是用visual c++ 想用一個textbox輸入數值後 將數值取出 再繪圖 程式碼大概是這樣 #pragma endregion private: System::Void panel1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { Pen^ myPen=gcnew Pen(Color::Black,0.1f); int x = Convert::ToInt32(TextBox->Text); //這行是要將textbox的內容轉成數字 Point startPt=Point(x,200); Point endPt=Point(100,200); e->Graphics->DrawLine(myPen,startPt,endPt); } private: System::Void ProcessNum_TextChanged(System::Object^ sender, System::EventArgs^ e) { } 但是這樣的話 我必須要textbox就預設初始值 若未設,則會錯誤 而無法讓使用者輸入之後再取出其值 請問該怎麼修改呢? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.227.121.206 nonebelieve:轉錄至看板 ask 12/03 17:40

12/03 17:43, , 1F
try{x=Convert::ToInt32(TextBox->Text);}catch(...){x=0;}
12/03 17:43, 1F

12/03 17:43, , 2F
是這樣嗎..XD
12/03 17:43, 2F
感謝你:) 但由於我是新手 第一次使用VC++ 可以麻煩你講清楚一點嗎><

12/03 17:45, , 3F
isFirstRun = false?
12/03 17:45, 3F
抱歉.. 我不懂你的意思 囧"

12/03 18:10, , 5F
可以想成 無法convert時產生exception,此時會跳進catch
12/03 18:10, 5F
MSDN寫的try catch 有點複雜 總之就是例外處理就對了 那catch後面應該要是什麼呢..?

12/03 18:20, , 6F
沒有要特別處理的話,就catch(...)三個點應該就可以了..
12/03 18:20, 6F
看起來是失敗了 囧" int x; try{x=Convert::ToInt32(TextBox->Text);}catch(...){;} 補圖:http://ppt.cc/t(a7 或 int x; try{x=Convert::ToInt32(TextBox.Text);}catch(...){;} 補圖:http://ppt.cc/~Fsb 都錯

12/03 18:29, , 7F
出現啥咪錯誤?
12/03 18:29, 7F
如果是我原文的方法的話 圖:http://ppt.cc/jdkG

12/03 18:38, , 8F
TextBox 是類別名稱...
12/03 18:38, 8F
對吼XDD 我忘記我改過了 笨了 改好之後 還是和我輸入的值沒有關係阿 囧" 還沒輸入他就會自動畫圖了 x 自動被設為0

12/03 18:47, , 9F
如果跳到catch的話記得要給x初始值喔~
12/03 18:47, 9F
但是我的目的是要他去取輸入的值耶 跳到catch的話就... 所以應該不能用例外處理

12/03 18:50, , 10F
不然就是把畫圖的處理也包進try裡面
12/03 18:50, 10F

12/03 18:51, , 11F
try{int x ... e->Graphics ...}catch(...){} 類似這樣
12/03 18:51, 11F
然後他就不會畫圖了XDD 看起來應該要找別的方法.. ※ 編輯: nonebelieve 來自: 61.227.121.206 (12/03 18:52)
文章代碼(AID): #1C-BY4Ax (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1C-BY4Ax (C_and_CPP)