c 如何使 form2 相對於 form1 的位置始終相同

發布 汽車 2024-07-23
23個回答
  1. 匿名使用者2024-01-31

    首先,你需要弄清楚 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

    有時,解決問題的方法有很多種,您不必走一條路。 你可以達到效果。

  2. 匿名使用者2024-01-30

    更改 form2 在 form1 move 事件中的位置。

    或者,如果更改 form1 的位置,則獲取 form2 中的位置。

  3. 匿名使用者2024-01-29

    使用兩個面板並將它們放在乙個形式中。

  4. 匿名使用者2024-01-28

    我的印象是 form1 物件應該有乙個位置更改事件,並且 form2 的位置應該在事件處理程式中更改。

  5. 匿名使用者2024-01-27

    新點(相對橫坐標,相對縱坐標)。

  6. 匿名使用者2024-01-26

    只要你控制了窗體的左邊和上層屬性,你的form2是如何建立的,假設它與下面的**類似,例如,它是在form1中建立的。

    form2 frm = new form2();

    - form2 的位置位於 form1 的左側,與 form1 並列。

    form2 的上邊緣與 form1 齊平,當然這只是乙個例子,如果還有什麼需要改動的,就改一下就行了。

  7. 匿名使用者2024-01-25

    您是否希望乙個視窗更改其位置,而另乙個視窗更改其位置?

  8. 匿名使用者2024-01-24

    我將更詳細地介紹樓上的“建構函式”。

    在 form1 中,form2 f2=new form2(;

    在 form2 中,類 form2

    public form2(string str)

  9. 匿名使用者2024-01-23

    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 表單標籤控制項文字。

  10. 匿名使用者2024-01-22

    兩個形式需要相關,最好的一種形式是另乙個形式的主人,這樣兩個形式才能取彼此的值。 如果是兩個不相關的形式,最好像靜態變數一樣傳遞它們。 如果它不起作用,您將不得不查詢手柄,這將太麻煩了。

  11. 匿名使用者2024-01-21

    一樓的那個不清楚。

    二樓有個問題,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 可以直接使用,依此類推。

  12. 匿名使用者2024-01-20

    有兩個步驟:

    1:將 form1 中的資料傳遞給 form2

    此步驟僅將資料傳遞給 form2(通過 ** 獲取表單資料到 form2)2:form2 接受來自 form1 的資料。

    這一步是從表格 1 中獲取資料並計算您的(評分成績的具體演算法:d = 大學計算機分數 * 0。2 + 外語* + 高等數學* + 普通成績* D 85 分>A 級,D > B 級 70 分,否則 C 級。

    然後在您要顯示的文字框或標籤中顯示它,沒關係! 試一試吧!

  13. 匿名使用者2024-01-19

    這是 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";這裡需要資料驗證,這裡就不驗證了。

    這個**表示靜態變數值,我對那個組合框沒用,應該叫你選擇,課程成績很多,你可以通過組合框選擇這些課程,然後輸入成績,或者選擇學號,總之在組合框中可以有一套可以選擇,也可以寫。我也是初學者,希望能理解!!

  14. 匿名使用者2024-01-18

    似乎沒有直接的使用方法,但找到一種方法也不是不可能。

    它只是為了覆蓋最大化按鈕,或者在視窗狀態 = max 時更改 form2 的位置和大小。

  15. 匿名使用者2024-01-17

    三種方法。

    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)

  16. 匿名使用者2024-01-16

    僅僅使用多文件窗體是不夠的,這樣 form2 窗體就會成為 form1 窗體的子窗體。

  17. 匿名使用者2024-01-15

    有一種簡單的方法可以定義乙個新類 pub,並在其中編寫乙個靜態屬性 pubilc static textbox tb

    然後讓 form1 的 load 事件被寫入;

    然後可以呼叫form2,即form1中的值繼續問我是否不明白。

  18. 匿名使用者2024-01-14

    >> 開啟 form1

    >> 單擊按鈕。

    private void button1_click(object sender, eventargs e)

    form2 frm = new form2();

    結果:<>

  19. 匿名使用者2024-01-13

    如果你要展示它。 你應該能夠選擇form1,如果它是showdig,那麼你就不能選擇它。

    除此之外。 您可以在顯示之前設定 form2 的位置。

    例如。 form2 asd=new form2() 加上 form2 的寬度。 他是平行的。 提高。 他是垂直對齊的。 明白了。

    我不會寫給你的。 沒有IDE,我就不是神。

  20. 匿名使用者2024-01-12

    最好自定義呼叫 form1 和 form2 的線層方法,以便這兩個窗體不會重寫,並且可以放置在任務位置。

  21. 匿名使用者2024-01-11

    將 Form2 的 MDI 父視窗設定為 Form1 並開始位置固定。

  22. 匿名使用者2024-01-10

    你好,這個很容易實現,你需要用單例模式,我把程式發給你,你先測試一下,bin除錯,你應該知道吧? button1 是開啟 form2 button2 是關閉 form2 不要顛倒順序,因為我根本沒有做驗證。

    表單 1.

    private void button1_click(object sender, eventargs e)

    private void button2_click(object sender, eventargs e)

    自定義類。

    class helper

  23. 匿名使用者2024-01-09

    如果 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 時寫入; 然後在關閉時寫下;

    希望對你有所幫助!

相關回答
6個回答2024-07-23

底盤基本上是在富康的基礎上改的,發動機和其他標誌雪鐵龍一樣,不要買,雖然比那輛便宜,但是後期的維修零件很貴。

11個回答2024-07-23

為了培養孩子的學習興趣,這裡有一些想法給你: >>>More

12個回答2024-07-23

您好,我推薦您購買魅族,魅族的做工是業界公認的頂級水平,但是由於時間的關係,魅族2已經停產了,我建議您購買魅族4。 >>>More

21個回答2024-07-23

要想讓男神愛上他,首先要有足夠的自信,其次要學會主動出擊,最後變得更好。 >>>More

16個回答2024-07-23

我第一次注意到可汗是在看到我們結婚的時候,當時我非常在意他對維多利亞的照顧,我開始以為只是為了拍戲,但得知後才發現可汗對大家都是那麼溫柔, 他的性格讓人覺得很溫暖,而且對女人很照顧,坤在國外生活了很久,自然也受洋風情的感染,男女關係沒有那麼拘束,也比較開放。 >>>More