cWinForm兩個窗體引數傳遞

2021-08-21 02:01:48 字數 5169 閱讀 8753

1樓:猿始森林

其實跨窗體傳參很簡單.

父窗體form1

子窗體form2

class form2

set}

----------------------------------------------

class form1

}override onclosing方法,或者新增formclosing事件都可以...

在裡邊新增form1的中的函式

_frm1.setstring("aaaaa");

}如果是想在form2關閉的時候,把值傳給form1,那form1可以做個方法來接收

setstring()方法,就自由發揮了.

我的空間也有例子 可以去看下.

推薦使用這種方法...那種全域性的方法,根本談不上安全性.這種發放一定要掌握.

2樓:

public string str

set} 上面的和下面的是不一樣的,這中間有一個保護的關係!這兩個引數肯定要有一個是public的,要不然就不能引用了。

還有另一種傳值方法,private的也可以,並且很簡潔。

在form1中加這個**form2 fm2 = new form2()

fm2.showdialog(string str);

你在form2的建構函式里加一個引數,這樣在show它的時候,建構函式就會要求有一個引數,然後你在 form2的建構函式的最後將傳過來的值賦給你private的那個變數。

3樓:匿名使用者

在接收端封裝欄位個啊

private string x;

public string x

set}很熟悉吧?好好想想哇

4樓:

定義一個子窗體型別,然後取屬性就好了

form2 fm2 = new form2()fm2.show()

fm2.str()

c#中怎樣將一個窗體的資料傳到另外的一個窗體中

5樓:匿名使用者

在form2表單的後臺 獲取textbox1的值,將值作為url引數,跳轉到form1所在的頁面,在form1的後臺方法page_load()中獲取url中傳遞過來的引數,呼叫後臺查詢資料的方法,獲取資料資訊集,然後繫結到form1的datagridview1中,即可顯示。

6樓:匿名使用者

在form1中新增如下語句:

public static form1 f1=null初始化函式中:

f1=this;

form1中textbox1宣告成public然後在form2中就可以這樣賦值:

form1.f1.textbox1.text=textbox1.text;

不明白的話直接聯絡我

7樓:匿名使用者

一個程序裡面的吧?我記得什麼begininvoke可以跨執行緒跨視窗呼叫。

c#怎麼將窗體之間的物件傳遞到另一個窗體

8樓:匿名使用者

改窗體的建構函式啊,作為一個引數傳進去,或者增加其他的public函式,道理一樣的。總之就是作為引數傳進去。

9樓:反對風格

在另外一個窗體(如form2)中設定一個內部變數。

然後把form2例項化,把要傳遞的物件設定到form2的變數中,然後把form2 show()出來.

10樓:匿名使用者

看看這個,或許對你有幫助

11樓:匿名使用者

最簡單的方法就是在另外一個窗體裡邊定義公用變數,在例項化窗體的時候一起賦值就行了

12樓:匿名使用者

使用靜態變數是最直接的辦法。如果需要更加複雜的業務邏輯就必須使用委託

13樓:

還有一種方法是用委託

14樓:賽亞星5號

一般通過建構函式傳遞方便點

15樓:匿名使用者

可以定義靜態物件:

在form1中定義

public static string strt = "aa" ;

在form2中可以直接讀取:form1.strt

c#中如何在兩個子窗體間傳遞引數

16樓:

給人寫一個兩個窗體之間值的傳遞的方法,不管對於子窗體還是父窗體都可用.具體**如下:

(以下用窗體form2和窗體form3為例)

1、先在form2中定義一個成員變數和一個屬性如下:

private string form2zhi = null;

public string form2chuanzhi

}2、再在form3中定義一個成員變數和一個屬性如下:

private string form3zhi = null;

public string form3chuanzhi

get}

3、以上基本已經搞定了,為了能夠實現這個傳值看的清楚一點,我在form2加了一個bunton命名為btn_chuanzhi

4、雙擊btn_chuanzhi在這個事件中寫入以下**(主要是顯示form3窗體和將form2中的值傳過去):

form3 form3 = new form3();

form3.form3chuanzhi = form2zhi;//將值傳過去

form3.show();

5、在form3中託一個label控制元件,並雙擊form3窗體form3_load事件中寫入以下**:

label1.text = form3zhi;//為了顯示值已經傳過來了

6、這個執行是沒錯誤了,但在form3還不能看到傳過來的值。下面來給form2中的form2zhi賦值就可以了。

雙擊form2窗體在form2_load中寫入以下**即可實現:

form2zhi = "將我傳過去!";

好了到目前為止不同窗體間的傳值已經實現了。以上方法對所有窗體都可用,不管是子窗體與主窗體之間還是子窗體與子窗體之間都可以。

呵呵,記得選我為滿意答案哦!先謝謝了!

17樓:

1、先在form2中定義一個成員變數和一個屬性如下:

private string form2zhi = null;

public string form2chuanzhi }

2、再在form3中定義一個成員變數和一個屬性如下:

private string form3zhi = null;

public string form3chuanzhi

get }

3、在form2加了一個bunton命名為btn_chuanzhi

4、雙擊btn_chuanzhi在這個事件中寫入以下**(

form3 form3 = new form3();

form3.form3chuanzhi = form2zhi;//將值傳過去

form3.show();

5、在form3中託一個label控制元件,並雙擊form3窗體form3_load事件中寫入以下**:

label1.text = form3zhi;//為了顯示值已經傳過來了

6、給form2中的form2zhi賦值,雙擊form2窗體在form2_load中寫入以下**即可實現:

form2zhi = "將我傳過去!";

18樓:宣義坊的大螞蟻

如果是mdi的話,建議使用一個靜態的context來實現傳值,如果使用將一個form的控制元件設定為public會造成很大程度的混亂,在你維護的時候就知道了。

在工程中定義一個類如下(為了提高效能使用雜湊表):

public class context

在任何一個form上都可以通過以下的**訪問:

// 將form1資料 this.txtsamplekey1.text存入上下文供其他窗體使用。

if( !context.contextdata.containkey("key1"))

else

//在form2中使用form1的this.txtsamplekey1.text

this.txttarget.text = context.contextdata.containkey["key1"].tostring();

19樓:匿名使用者

你在父窗體中例項化form2

form2 f2= new form2();

f2.mdiparent=this;

f2.show();

這樣是開啟在父窗體中開啟form2

你可以把form2作為引數傳遞到form3如下在父窗體中開啟form3

form3 f3= new form3(f2);

f3.mdiparent=this;

f3.show();

你可以在窗體3中構造方法中接受f2

form2 f2= null;

public form3(form2 form)現在你就可以在窗體3利用f2窗體物件索取f2窗體中的屬性或方法了,但是f2窗體的屬性和方法必須為public

20樓:今天不寫程式

子視窗中定義函式

setvalue(int num1, int num2);

form sw = new form3();

sw.setvalue(1, 2);/*這樣就傳進去了*/sw.show();

21樓:匿名使用者

定義個static 的變數

儲存資料

然後呼叫

或者在a form 中showdialog傳遞資料在b form 中重寫構造方法獲得值

22樓:夏日de晨風

其它**一樣。。請更改部分**

form2 frm = new form2();

frm.parent = this;

frm.show();

23樓:匿名使用者

就是都設定了全域性變數 傳了在傳

C 怎麼2個窗體傳值問題,C 窗體傳值

private void button2 click object sender,eventargs e public partial class form2 formprivate string nameone public string nameonesetprivate string name...

水滸傳作者為什麼有兩個,《水滸傳》怎麼有兩個作者?到底哪一個才是作者?其它四大名著為什麼也有這樣的現象?

水滸傳 的作者是誰,從明朝到現在,有三種說法 第一種說法,認為是羅貫中寫的,就是說 水滸傳 的作者是羅貫中 第二種說法,認為 水滸傳 是施耐庵和羅貫中兩人合作的,這個是比較多的一些個看法,也是明朝人的看法 第三種說法,是施耐庵一個人寫的。這個最早也見於明朝人,但是時間比較晚。那尤其是金聖嘆那個本子。...

foreach後面可以跟兩個引數嗎

不可能這樣子。你只能夠在foreach中巢狀foreach images1 和 images2 的長度一樣嗎?可以用for int rows images1.length images2.length images1.length images2.length string img1 string ...