1樓:文庫寶藏
(1)傳引數的時候,你可以過載子視窗的建構函式,給它加上引數,比如public form(string str),呼叫的時候你就可以將父視窗的值傳給它了。
(2)你說的應該是動態建立視窗,每個視窗都會有自己的id,不會重複的。
(3)你動態建立的視窗,裡面的控制元件沒有新增事件,這樣你就需要自己手動新增事件,例如
dongjin所寫。
2樓:匿名使用者
窗體間傳值有幾個辦法,出了採用子窗體公開變數的辦法外還有如下幾個辦法:
1.公開子窗體的控制元件~既將構造檔案中控制元件宣告是的修飾符改為public,效果和公開變數一樣
2.採用cookie,這個就簡單了,吧值存到cookie中,可以在任一視窗取出來用,並進行修改
3.採用資源,或文字輸出。這個就是將資料存到固定檔案中,和cookie類似。
4.配置檔案,同3.但有個特性就是可以用這個進行控制元件與資料繫結。
5.資料庫,不管成不承認,這個用的最多~原理同2,3,4。只不過把資料存到資料庫。一般用在使用資料庫的時候
6.關於其他辦法請參見下面的文章:
言歸正傳:
1.你的這種想法不是不能實現,只不過用c#會比較難,需要自己用**構造窗體函式~不如c++來的容易一些,建議放棄
2.剛測試了下在不指定name的情況下,x代表的是最後一次譚處端視窗,這種情況下,你有兩種辦法解決~
辦法1.
int i=0;
在 form x=new form();
後面給x窗體一個動態的name值:x.name=「childfrom」+i.tostring();
i++;
這樣就是每個窗體都有個name值了。就可以通過name來呼叫各個窗體了
辦法2:
使用泛型:listf2s=new list();
form x=new form();
f2s.add(x);
然後通過f2s來操作子窗體
3樓:星星浪漫色
其實所謂的窗體和類是一樣的.
給他加個帶引數的建構函式不久行了.
f1 是主窗體.f2是子窗體.
f1中f2 f=new f2("**路徑")
f.show();
而f2的預設建構函式是沒有引數的.請收到新增
4樓:匿名使用者
子窗體你在開啟(類的構造)的時候,是可以構造多個的,這就好比你構造了多個類是一樣的!至於x代表哪個窗體,你可以在構造的時候標識一下,通過一些額外的手段,比如新增一個成員變數,表示窗體的id,或者通過窗體的名稱(不能一樣噢)
在c#中怎麼樣才能把父窗體中的值傳給子窗體?
5樓:匿名使用者
可以在子窗體建立一個賦值的方法,父窗體建立子窗體後呼叫這個方法。
6樓:匿名使用者
在子視窗的類中的建構函式裡定義引數就行了,例項化子視窗的時候,把引數傳遞過去就行了哈。
7樓:匿名使用者
假設父窗體為form1 frmparent = new form1();
假如想把父窗體的一個string str="abc";傳 給子窗體。
在父窗體中定義一個屬性
public string getdata}子窗體為form2 frmchild=new form2();
在子窗體中呼叫的方法為
form1 frmparent = new form1();
string str = frmparent.getdata;
怎樣在c#中實現父窗體向子窗體傳值和子窗體向父窗體傳值
8樓:笨蛋是你我
子窗體按鈕事件
childwindow child = new childwindow() ;//第1步,給子窗體傳值了
child.showdialog();//第2步,呼叫showdialog
if (child.dialogresult==true)//第3步,然後對dialogresult進行判斷
父窗體按鈕事件
textbox2.text= "我要給子窗體傳值";
this.dialogresult = true;//第3步,首先會話結束
9樓:匿名使用者
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.windows.forms;
namespace 傳值練習
//1、利用建構函式由父窗體向子窗體傳值
private void button1_click(object sender, eventargs e)
//利用方法由子窗體向父窗體傳值
public void chuanzhi(string data)}}
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.windows.forms;
namespace 傳值練習
//1、利用建構函式由父窗體向子窗體傳值
public form2(string name)//2、利用方法由子窗體向父窗體傳值
private void button1_click(object sender, eventargs e)}}
10樓:匿名使用者
form1的**:
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.windows.forms;
namespace myurlrecondpublic form1(string message)private void button1_click(object sender, eventargs e)}}
form2的**:
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.windows.forms;
namespace myurlrecondpublic form2(string message)private void button1_click(object sender, eventargs e)}}
c#(winfrom)窗體傳值問題(子窗體回傳值給父窗體)
11樓:匿名使用者
把form1當成一個引數傳到form2中,你想怎麼操作都可以。以前做課設的時候就這麼幹的。很好用
c#怎樣將主窗體的資料傳給子窗體
12樓:匿名使用者
有很多種方法:
1、form2加兩個public的成員變數string【】 hostarry,和socket client
這樣構造form2的時候給其賦值為form1的值就可以了;
2、form2修改一下,加個建構函式,然後將上述引數作為建構函式也可以(實質和上面的類似)
其它的應該還有,上面的最簡單
13樓:手機使用者
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.windows.forms;
namespace 傳值練習
//1、利用建構函式由父窗體向子窗體傳值
private void button1_click(object sender, eventargs e)
//利用方法由子窗體向父窗體傳值
public void chuanzhi(string data)}}
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.windows.forms;
namespace 傳值練習
//1、利用建構函式由父窗體向子窗體傳值
public form2(string name)//2、利用方法由子窗體向父窗體傳值
private void button1_click(object sender, eventargs e)}}
14樓:匿名使用者
定義一個公共類, 把公共form1 裡面的值給公共類 公共類 要公開 在把 值給from2 就可以了
C中如何在開啟視窗的同時關閉自己
在你開啟另一個窗體的時候,加上一句 this.hide 基本實現你要的效果。路過,希望可以幫助你 假設三個窗體主窗體是default,兩個子窗體from1和from2。主窗體裡面有一個button用來啟用from1的。在button click裡寫 from1 frm new from1 frm.s...
C語言呼叫完void函式後如何將值返回主函式實現輸出的呢?void函式沒有返回值是陣列不同
1 來c語言呼叫完void函式後如何自將值返回主函式實現輸出的呢?答 因為 void函式沒有返回值,要想把讓函式的值帶回主函式,還有兩種辦法,第一是使用指標做引數,第二是瀠陣列做引數。2 用指標傳遞就可以了嗎,那如果不用指標呢?答 用指標當然可以啦。如果不用指標,那就選擇用陣列引數了。我看到你對一條...
C語言 在主函式中輸入x,y,呼叫函式求出X,y的和,差,商,積,並在主函式中對他們輸出
include int add int a,int b int sub int a,int b int mul int a,int b float divi int a,int b void main include main include void fun1 float x,float y 和v...