C 主從form間如何傳遞資料

2025-01-04 01:15:13 字數 5346 閱讀 2108

1樓:宣義坊的大螞蟻

首先不建議使用樓上的那種直接訪問子窗體屬性甚至域的做法,因為那樣會破壞程式的結構,難以維護。建議使用掛載子窗體的事件來完成**操作。

主窗體:private void button1_click(object sender, eventargs e)

form2 frm = new form2();

new eventhandler(;

private void closeform2(object sender, eventargs e)

form2 frm=(form2)sender;

if(= ;子窗體。private bool _isrefreshmain;

public bool isrefreshmain

set this._isrefreshmain = value; }

get return this._isrefreshmain; }

private void form2_load(object sender, eventargs e)

private void btnok_click(object sender, eventargs e)

this._isrefreshmain = true;

private void btncancel_click(object sender, eventargs e)

this._isrefreshmain = false;;

2樓:白沙部落格

有很多種辦法可以解決。

簡單的可以這樣:

在子form上定義乙個textbox型別的屬性,假設叫ptextbox,在點選主form的按鈕時把這個屬性賦值為textbox1,即子;

然後子窗體的ok按鈕事件可以這麼寫:

當然,還有其它做法,比如通過自定義事件等。

3樓:網友

設乙個public變數a 在主窗體上單擊按鈕的時候給 全域性變數a賦值 =

然後在子form上單擊確定的時候 即可。

4樓:網友

自定義事件解決吧。

5樓:夏日de晨風

全部**如下:(注意大小寫)

form(主窗體)

private void button1_click(object sender, eventargs e)

form2 frm = new form2();

if (from2/定義。

private string str;

public string str

set str = value; }

get return ;

private void form2_load(object sender, eventargs e)

str;okprivate void button1_click(object sender, eventargs e)

str = ;

/cancel

private void button2_click(object sender, eventargs e)= ;

c# winform 多form傳遞資料問題

6樓:傳奇勇者

沒有這樣做程式的,你被自己的思想帶進誤區了。正確的做法是:

把視窗定義成靜態,然後直接用靜態物件引用,你這個還帶著c++的習慣,現在的語法根本就是錯的。

首先,繼承指的是類的繼承,根本不可能傳遞引數,要傳遞引數必須是例項才可以;

其次,擬定義乙個靜態的from1變數,然後就可以直引用了,如下:

public form1 f = new form1();

f.屬性=...就沒問題了。

7樓:網友

這樣傳值 好像不太好吧。

form1 form1=new form2();

型別都不一樣 怎麼賦值呢。

8樓:

窗體:>

public form1()

窗體:>

form1 form1 = null;

public form2(form1 form1)窗體:>

form1 form1 = null;

form2 form2 = null;

public form3(form2 form2)如果,lz想三個窗體間資料傳遞,以上是我建議的**。lz中的**中:>中form1 form1 = new form1();這個**會在記憶體中開闢空間,著實沒有必要,理由:

form1值實際應該由建構函式提供。同理,>中form1 form1 = new form1();這樣new可以說是錯的,理由:此時new的form1物件已經是完全嶄新的乙個,和第一次執行的物件是完全不同的兩個,就意味失去form1中的資料,同時傳遞到乙個不相關的form1窗體物件中。

以上,是本人的意見,,希望可以幫到lz!

9樓:網友

資料多的話建議用觀察者模式。

c# 兩個form傳遞資料的問題

10樓:網友

改寫form2的建構函式。

改為 form f1=new form()public form2(form f)

newform2的時候 form1把自己傳進去例如 form2 f2=new form2(this);

然後form2的按鈕點選時,你要改的值"

11樓:匿名使用者

使用委託使,在form1中根據form2傳回的值改變textbox的text

asp註冊頁面form資料傳遞問題

12樓:茂煙

在第二頁的表單中使用 隱藏域

13樓:網友

request只能接收傳遞的表單內容或者?type=some,這樣的變數,你上面的頁面沒有表單元素(文字框,文字區域,單選,多選,下拉),所以怎麼也沒有辦法接收到。

請問c#的winform中,form和form之間如何傳遞資料!

14樓:網友

建構函式。

class form()

form f = new form("值");

在建構函式里你就可以賦值給你想要給的變數了。

可以有多個建構函式,以方便你傳不同的值!

15樓:如此放肆的美館

1.做乙個資料類。

2.靜態變數。

3.新增帶引數的建構函式(用引數傳遞第乙個頁面的值)

16樓:網友

第乙個form裡面附值,第二個form裡面讀 並且加上繼承!就行了~!

17樓:雅南哥

public static string str = "";

第乙個form裡面附值,第二個form裡面讀就可以了。

18樓:網友

公共變數,建構函式過載。

19樓:玏佾

常用的兩種方式:

1.建構函式中。2,以屬性形式。

第一種方法:

formb構造時。

private image _image;

public formb(image image)forma點選按鈕時:

formb formb = new formb(;

第二種方法:

formb種設定屬性:

private image _myimage;

public image myimage

forma點選按鈕時:

formb formb = new formb();

簡述表單資料傳遞的兩種方式

20樓:會走路的麻雀

兩個表單之間傳遞資料一般可在呼叫時傳遞,也可以通過全域性變數來達到傳遞的目的。

21樓:西門**

get post

1. get是從伺服器上獲取資料,post是向伺服器傳送資料。

2. get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個欄位一一對應,在url中可以看到。post是通過http post機制,將表單內各個欄位與其內容放置在html header內一起傳送到action屬性所指的url位址。

使用者看不到這個過程。

3. 對於get方式,伺服器端用獲取變數的值,對於post方式,伺服器端用獲取提交的資料。

4. get傳送的資料量較小,不能大於傳送的資料量較大,一般被預設為不受限制。但理論上,iis4中最大量為80kb,iis5中為100kb。

5. get安全性非常低,post安全性較高。

windows form兩窗體資料傳遞

22樓:網友

button控制有text屬性?

你檢查一下,它是不是應該是caption屬性,就是按鈕上顯示的文字,一般應該是caption屬性的值吧。

在c#中怎樣在兩個form之間傳遞資料(winfrom)?

23樓:網友

在父窗體中顯示子窗體時,加上子窗體。owner=this;在子窗體中定義乙個父窗體物件,在load函式里面讓父窗體物件=(父窗體型別)。然後用這個父窗體物件就可以在子窗體的任何位置直接使用它的引數了(這些引數要定義成公共的).

將父窗體物件定義成子窗體的乙個變數,不是在load中定義父窗體物件,只是在load中獲取父視窗,這樣在子窗體的任何位置都應該可以使用這個父視窗物件了。

24樓:_請開始你的表演

除了週日和週一下午我不在公司以外。其餘的時間隨時hi我或者是加追問。只要我看見了 就給你回覆。

我可以給你寫個簡單的資料傳遞的例子給你。 也可以給你寫個簡單的窗體間的通訊例子給你看看。

25樓:網友

過載窗體的結構函式 直接傳引數 !

vb中,如何在form間傳遞資料

26樓:然後去遠足

樓下說的對,**是對了,但你放的事件不對,應該把。

放到form1裡textbox1_keypress事件中。

27樓:

看明白了,你得把這行**加入到 textbox1 的 keypress 事件中。

C有form1和form2 form1如何獲得form2的textbox中的值

在form1中 public partial class form1 formprivate void button2 click object sender,eventargs e 在 form2中 public partial class form2 form 重寫form1的建構函式,將for...

c中form如何互傳值以及訪問方法問題

你要明白窗體類,他窗體裡寫靜態變數 public static string s form2 f new form2 f.showdialog 然後阿紫form2就可以向他相互傳值,form2傳給form1 form2中寫 form1.s 2.form1傳值給form2 form1中在showdia...

資料結構C語言中引數傳遞的與用法

在c 中作為引抄用形參,c中是不能襲這樣用的,資料結構中使用的類c寫的,為了保持相容性就是用了引用形參 是用的c中的雙指標的問題,就是說指向指標的指標,即指標的內容在函式中可以被改變,如果用單指標指標的話,對指標的改變不會被帶出函式 這一點是難點,我以前也在這而迷惑了好長一段時間,好好想想等你明白了...