-
首先,你需要弄清楚 form1 和 form2 之間的關係,然後你就可以了,假設你現在開啟程式,先開啟 form1,然後在 form1 中呼叫例項化 form2 並顯示它。
在第一步中,使用時間控制項在 form1 中重新整理,或將窗體的位置值 x 和 y 分配給窗體移動事件中的兩個公共變數,然後在呼叫 form2 時寫入此值。
form2 tmpfom=new form(this);
在 form2 中將建構函式更改為 form2 (form1 oldform)。
這樣,您可以在 form2 中呼叫 form1 的位置資料來重新整理 form2 本身。
int newposx;
int newposy;
form1 newform1;
void form2(form1 oldform)
newform1=oldform;
newposx=x form form1 的位置;
newposy=y 形式 form1 的位置;
然後使用 form2 中的計時器根據 newposx 和 newposy 重新整理 form2 的位置,當天就可以反其道而行之。
如果 form1 和 form2 屬於同一形式,那就更好了。 你自己琢磨,不明白就再問一遍。
如果要在 form1 中重新整理 form2,可以指定 form2 的位置,以便在 form2 中定義兩個公共變數 psx 和 psy,並在 form2 中定義乙個公共方法 changepostion(),該方法讀取 psx 和 psy 以更改 form2 的位置。
在 form1 中定義 form2 並例項化 form2,可以通過更改 form2 例項的 psx 和 psy 值並呼叫 changepostion() 方法來更改移動 form2
有時,解決問題的方法有很多種,您不必走一條路。 你可以達到效果。
-
更改 form2 在 form1 move 事件中的位置。
或者,如果更改 form1 的位置,則獲取 form2 中的位置。
-
使用兩個面板並將它們放在乙個形式中。
-
我的印象是 form1 物件應該有乙個位置更改事件,並且 form2 的位置應該在事件處理程式中更改。
-
新點(相對橫坐標,相對縱坐標)。
-
只要你控制了窗體的左邊和上層屬性,你的form2是如何建立的,假設它與下面的**類似,例如,它是在form1中建立的。
form2 frm = new form2();
- form2 的位置位於 form1 的左側,與 form1 並列。
form2 的上邊緣與 form1 齊平,當然這只是乙個例子,如果還有什麼需要改動的,就改一下就行了。
-
您是否希望乙個視窗更改其位置,而另乙個視窗更改其位置?
-
我將更詳細地介紹樓上的“建構函式”。
在 form1 中,form2 f2=new form2(;
在 form2 中,類 form2
public form2(string str)
-
public partial class form1 : formpublic static string a;
private void button1_click(object sender, eventargs e)
public partial class form2 : formprivate void form2_load(object sender, eventargs e)
;假設我呼叫 form1 以將文字框值 a 傳遞給 form2 表單標籤控制項文字。
-
兩個形式需要相關,最好的一種形式是另乙個形式的主人,這樣兩個形式才能取彼此的值。 如果是兩個不相關的形式,最好像靜態變數一樣傳遞它們。 如果它不起作用,您將不得不查詢手柄,這將太麻煩了。
-
一樓的那個不清楚。
二樓有個問題,form1差不多一樣,但系統預設為textbox1,textbox2......不是 txtscorecomputer......
form2 直接使用 = ;
= ;= ;= ;= ;似乎不需要,對吧?
由於 form1 為定義賦值。
public static string stuname;
public static string scorecomputer;
public static string scorelanguage;
public static string scorehighmath;
public static string scorepeacetime;
,所以 form2 可以直接使用,依此類推。
-
有兩個步驟:
1:將 form1 中的資料傳遞給 form2
此步驟僅將資料傳遞給 form2(通過 ** 獲取表單資料到 form2)2:form2 接受來自 form1 的資料。
這一步是從表格 1 中獲取資料並計算您的(評分成績的具體演算法:d = 大學計算機分數 * 0。2 + 外語* + 高等數學* + 普通成績* D 85 分>A 級,D > B 級 70 分,否則 C 級。
然後在您要顯示的文字框或標籤中顯示它,沒關係! 試一試吧!
-
這是 form1 中的字段和事件。
public static string stunumber;
public static string stuname;
public static string scorecomputer;
public static string scorelanguage;
public static string scorehighmath;
public static string scorepeacetime;
private void button1_click(object sender, eventargs e)
stunumber = ;
stuname= ;
scorecomputer = ;
scorelanguage= ;
scorehighmath = ;
scorepeacetime= ;
form2 myform2 = new form2();
表格2。
private void btnok_click(object sender, eventargs e)
= ;= ;= ;= ;= ;double d = *
if (d > 85)
a";else if (d > 70)
b";else
c";這裡需要資料驗證,這裡就不驗證了。
這個**表示靜態變數值,我對那個組合框沒用,應該叫你選擇,課程成績很多,你可以通過組合框選擇這些課程,然後輸入成績,或者選擇學號,總之在組合框中可以有一套可以選擇,也可以寫。我也是初學者,希望能理解!!
-
似乎沒有直接的使用方法,但找到一種方法也不是不可能。
它只是為了覆蓋最大化按鈕,或者在視窗狀態 = max 時更改 form2 的位置和大小。
-
三種方法。
1.將 form1 中 label1 的訪問屬性 private 更改為 public
2.在 form1 中編寫乙個公共方法,並在該方法中呼叫 label1
Form2 呼叫此方法。
3.在 form1 中編寫乙個事件並委託。
form1 f1 = new form1(this);
這增加了視窗之間的耦合。
使用事件是最好和最常見的方法。
表格2。
public delegate onchangelabel1(string newtext);
public event onchangelabel1 changelabel1;
單擊由 button1 觸發的事件。
private void button1click(object sender, eventagment e)
Form1 建構函式繫結 Form2 事件。
public form1()
private void changelabel1method(string ntext)
-
僅僅使用多文件窗體是不夠的,這樣 form2 窗體就會成為 form1 窗體的子窗體。
-
有一種簡單的方法可以定義乙個新類 pub,並在其中編寫乙個靜態屬性 pubilc static textbox tb
然後讓 form1 的 load 事件被寫入;
然後可以呼叫form2,即form1中的值繼續問我是否不明白。
-
>> 開啟 form1
>> 單擊按鈕。
private void button1_click(object sender, eventargs e)
form2 frm = new form2();
結果:<>
-
如果你要展示它。 你應該能夠選擇form1,如果它是showdig,那麼你就不能選擇它。
除此之外。 您可以在顯示之前設定 form2 的位置。
例如。 form2 asd=new form2() 加上 form2 的寬度。 他是平行的。 提高。 他是垂直對齊的。 明白了。
我不會寫給你的。 沒有IDE,我就不是神。
-
最好自定義呼叫 form1 和 form2 的線層方法,以便這兩個窗體不會重寫,並且可以放置在任務位置。
-
將 Form2 的 MDI 父視窗設定為 Form1 並開始位置固定。
-
你好,這個很容易實現,你需要用單例模式,我把程式發給你,你先測試一下,bin除錯,你應該知道吧? button1 是開啟 form2 button2 是關閉 form2 不要顛倒順序,因為我根本沒有做驗證。
表單 1.
private void button1_click(object sender, eventargs e)
private void button2_click(object sender, eventargs e)
自定義類。
class helper
-
如果 form1 是您稍後建立的物件,則可以將 form2 作為物件傳遞給 form1; form1 中有建構函式。
public form1 (form2 f),然後在 ** 中建立 form1 物件,例如 new form1(this)showdialog();這句話 ** 在 form2 的類中,如果這是 form2; 然後,如果要在 form1 中關閉 form2,請直接將其寫入 closing 事件中;
如果 form2 是稍後開啟的物件,你可以這樣寫,宣告全域性變數 form2 f=new new form2(); 當需要開啟 form2 時寫入; 然後在關閉時寫下;
希望對你有所幫助!
您好,我推薦您購買魅族,魅族的做工是業界公認的頂級水平,但是由於時間的關係,魅族2已經停產了,我建議您購買魅族4。 >>>More
我第一次注意到可汗是在看到我們結婚的時候,當時我非常在意他對維多利亞的照顧,我開始以為只是為了拍戲,但得知後才發現可汗對大家都是那麼溫柔, 他的性格讓人覺得很溫暖,而且對女人很照顧,坤在國外生活了很久,自然也受洋風情的感染,男女關係沒有那麼拘束,也比較開放。 >>>More