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 ...