1樓:匿名使用者
觸發離開事件,validate事件等等,
showdialog會中斷當前執行緒,並且,焦點移到dialog上面.所以,當前如果使用
系統的showdialog方法,那麼其父窗體將不能獲取焦點.
-------
有兩種方法可以實現,
1:在b的load事件中將焦點放到c控鍵上.
2:為b增加一個建構函式,引數為string,控制元件名稱.
在這個建構函式中,根據引數尋找當前(b)form中對應的控制元件,再呼叫該控制元件的focus()方法既可.
2樓:匿名使用者
你可以設定控制元件的tabindex屬性,在所有控制元件中tabindex最小的就是就是焦點控制元件
3樓:匿名使用者
在b窗體的load事件上寫textbox1.focus();就哦了
4樓:匿名使用者
屬於第二個窗體的form_load事件,用文字框的focus()獲得焦點。
5樓:匿名使用者
form1 f = new form1();
f.showdialog();
textbox1.focus();//焦點放到textbox1上觸發form_load
6樓:桓莘呼延夢秋
你就不能做個窗體,讓窗體置頂,彈出窗體嗎?一定要去showdialog
在c#winform中,如何阻止showdialog()的關閉!
7樓:夢遊的泳
要看你在彈窗中是否返回了dialogresult值,不管你返回dialogresult.ok或者dialogresult.no,彈窗都會關閉掉。
想不關閉彈窗,在驗證失敗後不要給dialogresult賦值就行
8樓:匿名使用者
非同步的視窗showdialog是不會阻塞主視窗的,你只能在主視窗執行緒建立。
如果一定要實現游標不能返回主視窗的邏輯,那就只能在主視窗中寫一些**來阻止主視窗被啟用。例如:
public partial class form1 : form
protected override void onactivated(eventargs e)
base.onactivated(e);
}private void button1_click(object sender, eventargs e)
).start();
}private void childformonformclosed(object sender, formclosedeventargs e)}
9樓:匿名使用者
簡單點說。你修改成功了才退出。沒有修改成功什麼都不做。只是彈出一個對話方塊讓使用者知道沒有修改成功,什麼原因的。
10樓:匿名使用者
把你修改按鈕的**貼出來看看
c# winform showdialog 兩次
11樓:
你這個寫法有問題,還有你需要在彈出窗體之前先進行判斷,是否視窗已開,showdialog()是有返回值的,你可以設個斷點檢視下!具體的還是要你自己進行debug才能找出來!
12樓:
以下兩種方式可以用show的方法開啟新窗體,並且在關閉的時候不釋放(一)protected override void onclosing(canceleventargs e)
(二)protected override void dispose(bool disposing)
//base.dispose(disposing);
hide();}
13樓:哥只是傳說
private void submitform_activated(object sender, eventargs e)
//標記2
除錯的時候怎麼看著從標記1到標記2,然後會再一次到標記1?
3秒後啟用窗體,結果主窗體不顯示,顯示彈出窗,在工作列點主窗體後,就會彈出兩個sf,但是一個sf是另一個的字窗體,下圖:問題補充:
兩個loginform並不都是最後一個的字窗體
14樓:網上衝浪玩家
具體問題出現在**這些**是看不出來的,不過根據這些**我給出一個解決方案,試試看吧,也不一定能解決你的問題:
loginform sf =new loginform();//在方法外面宣告一個登入框
private void submitform_activated(object sender, eventargs e)
//標記2
如何用c#實現對話窗體的showdialog()方法或者show()方法顯示窗體,並接收返回值
15樓:delphi天才
自定義控制元件的範圍
首先你要明白你定義控制元件的show()方法或者 showdialog()方法 都是你控制元件的 自定義方法 你要考慮如何實現 這個方法體,其實很簡單的,**如下
你需要定義一個 全域性變數
string a;
public string show()
這樣就能實現了 給分吧, 謝謝
16樓:蘿蔔天使
frmson frm = new frmson();
frm.showdialog();
string result = frm.result;
//此處的result是子窗體的屬性。
//使用子窗體的屬性,將子窗體的運算結果返回。
17樓:匿名使用者
dialogresult (自己命名一個變數) = messagebox.show()或showdialog();
那個變數返回的是 bool 型別的, 一般都對其進行判斷操作。
messagebox 實現對話方塊 showdialog()對話方塊的模式顯示 show()對話方塊的一般顯示
18樓:解燎
通過全域性變數來傳遞值
還有一個辦法,show以後,不關閉窗體,只是隱藏窗體,把值取得以後,再關閉窗體
19樓:
把this.dialogresult在關閉窗體時設定為指定值就可以了。
C中的多型問題
多型又稱後期繫結,是一種在執行時 just in time 指定方法呼叫地址的技術。通常,編譯器在編譯期就能知道方法的地址,執行時直接載入這個地址上的堆疊 net中指中間 就可以了,這被稱為靜態繫結或前期繫結,雖然很少使用這個術語。編譯器在編譯期不能確定方法的地址,而只能在執行時確定的就被稱為後期繫...
c語言程式設計中的小問題,C語言程式設計的小問題
1 可以的。a int a 100 0.5 將第三位小數加上去,通過強制型別轉換,則會丟棄小數部分 a a 100 由於a是double型別,故商包含2位小數 a int a 100 0.5 100.0 這樣合併會得到相同的結果。2 可以這樣操作。a int a 100 100.0 問題一 可以寫成...
C中的抽象類問題
例如public abstract class person 張三類 派生與person class 張三 person 也就是說抽象類裡可以有eat那樣的抽象方法 成員 需派生類去實現。也可以有像sleep那樣的已經實現了的方法 成員 介面與抽象類有類似的地方,建議也一起看看。介面的話 裡面只能是...