台灣最大程式設計社群網站
線上人數
922
 
會員總數:245927
討論主題:189535
歡迎您免費加入會員
討論區列表 >> VB.NET >> 第二次 SHOW 有CONTROL 但卻找不到
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
第二次 SHOW 有CONTROL 但卻找不到
價值 : 100 QP  點閱數:599 回應數:6
樓主

P陳
初級顧問
14551 183
8652 2176
發送站內信

請問一下,這是什麼情況
以 button12 為例
用CONTROLS 的就會找不到
直接使用的就到得到

Form1 在 Startform 用Mdiparent方式 第一次 Show 是正常的,第二次再Show 就會出問題 (不管Form1 有沒有 CLOSE 皆是如此)
請問這是什麼狀況??


?me.controls.find("button12",true)
{Length=0}
?me.button12.text
"6"
?me.controls("button12")
Nothing






搜尋相關Tags的文章: [ Form 二次啟動找不到 control ] ,
本篇文章發表於2017-12-08 11:31
1樓
不錯的參考

小魚
檢舉此回應
你看一下他的父層有沒有東西,
可能不能用Me.Controls
而要用父層物件.Controls

或是如果有主版頁面會改掉id,
就會找不到了.
本篇文章回覆於2017-12-08 12:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

小魚
檢舉此回應
啊啊,
你這好像是WinForm的,
那是不是有用到GroupBox?
本篇文章回覆於2017-12-08 12:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

P陳
檢舉此回應
是Winform 沒錯
是單獨一層而已 沒有 Group BOX (而且如果有Group Box 的話,用Controls.find 也可以找得到)

而且第一次 Show 可以正常執行
第二次 SHOW 時才會發生
本篇文章回覆於2017-12-08 12:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

香帥
檢舉此回應
只要沒close,照理都會找得到,不管open幾次。
我用以下簡單程式碼test 是ok的

本篇文章回覆於2017-12-08 23:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

P陳
檢舉此回應
香帥:
好久不見了
經過整理其中差異

1.有 FormA,FormB,FormC 共有組程式會去呼叫 FormX。
2.FormX 會委派回來FormC (但好像 3組 FormA formB formC 都會收到委派)
3.所以 FormC 好像一直重覆進入.............
4.雖然找不到 me.controls("button12"),經手動跳過後,往後程式又可正常執行,目前判斷是重新進入的問題。
5.等我整理出來後再來報告。

本篇文章回覆於2017-12-09 07:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

P陳
檢舉此回應
感謝
小魚 香帥 的協助
將程式改成不要重覆進入就成功解決那個問題了


本篇文章回覆於2017-12-09 10:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.