1樓:匿名使用者
如果窗體a是b new出來的或則b是a new出來的 可以用以下方法:
在窗體a中:
public delegate void weituo(); //宣告乙個委託
public event weituo shuaxin;//宣告乙個事件
並在你那個按鈕單擊事件中:
shuaxin();
便可以了!
在b窗體中:
a forma = new a();
forma.shuaxin += new a.weituo(fangfa);
forma.show();
這裡面fangfa就是你用來修改label的方法(**函式)
void fangfa()
注意:forma.shuaxin += new a.
weituo(fangfa);這句在輸入完+=之後按2下tab便可以自動生成方法(也就是上面的fangfa())名字是系統自動命名可以改就是了!
如果是單獨的2個窗體就要用到api了相對**多了很多我就不寫了。
需要用到sendmessage 方 和 重寫wndproc方法。
然後要獲取控制代碼 傳送乙個資訊給 b窗體 然後在b窗體中的wndproc中獲取訊息 並作出處理 也就是重新整理!
**沒有測試,無法確保沒錯。有問題可以發資訊過來!
2樓:匿名使用者
這跟傳值有什麼關係啊。你要是傳值就建乙個公共類,
public class class1
把值傳給zhi然後傳給你的label的text就可以了。
3樓:匿名使用者
窗體一:
public partial class demo1 : form//顯示另一窗體
private void button1_click(object sender, eventargs e)
//改變另一窗體lbl的值
private void button2_click(object sender, eventargs e)
}窗體2:記住窗體2上的lbl必須是public的。
lable的public設定方法:modifiers設定成public
public partial class demo2 : form}
4樓:最後的仙人
b裡面加乙個函式
public void setlabel(string s1,string s2)
a裡面加乙個全域性變數formb f;
通過建構函式將b的this傳過去
然後在buttonclick裡面呼叫setlabel(s1,s2);
5樓:匿名使用者
在窗體b類檔案中定義兩個全域性變數,public修飾。如下:
public string s1; public string s2;
在窗體a的button按鈕click事件中**如下:
bform frmb = new bform(); //例項化b窗體
//以下兩句為傳值,注意資料型別
frmb.s1 = "你要賦的值1";
frmb.s2 = "你要賦的值2";
frmb.show(); //開啟b窗體在b窗體的load事件中將前面定義的兩個全域性變數賦值給labelthis.lbl1.text = s1;
this.lbl2.text = s2;
這樣就實現了兩個窗體間傳值了。如果要傳的值多,可以再b裡面定義乙個public修飾的方法,通過方法傳值也可以。
6樓:紫炳廖婭芳
方法有多種,介紹常用2種:
假設有窗體a,a上面有很多label控制項,a上面還有乙個button按鈕,點選按鈕彈出窗體b
窗體b上的某個button按鈕點選時查詢sql方法1:在點選a上面的按鈕彈出窗體b時不是要寫formb
b=new
formb();
嘛,這個時候給窗體b,也就是
formb增加乙個帶引數的構造方法,引數即是forma
型別,然後彈出時寫
formb
b=new
formb(this);
即可。在b類中增加乙個字段
forma
a;然後在上面增加的帶引數構造方法裡面賦值a=forma;
方法2:同方法1,只不過構造方法裡面的引數是字串,直接把label的值傳遞過去
c# winfrom 兩個窗體傳值
7樓:
把你點選的正行資料都傳遞到b視窗中,然後分別給b視窗中的控制項賦值。至於怎麼把修改後的資料返回給a,方法1:你可以在b中把修改過後的行資料宣告為靜態變數,在a中直接取就行了。
方法2:在a中定義行資料位靜態變數,在b中給他賦值。方法3:
在b中定義乙個事件,修改完之後觸發此事件,在a中註冊此事件,在a的事件中獲取到事件所傳遞過來的值
8樓:我不愛註冊二
獲取選中行的id號,然後b視窗在根據id號查詢一下賦值,然後a視窗在重新繫結。
9樓:陳韓泰
datagridview_rowselected(object sender,eventargs e)
這樣好像是可以,但是修改datagridview通常是修改它繫結的資料來源的資料。比如你的datagridview是繫結到dataset,中的某張表上的。那麼你就的修改這個dataset中表的值,然後呼叫dataset.
update()將資料更新回資料庫
10樓:asp林詩涵
將a視窗的資料封裝到物件中,在跳轉到b窗體的時候傳入,在b窗體就可以用了
student stu = null;
public form2(student stu)a窗體跳轉到b時
student stu = new student();
stu.name = "zhangsan";//此處的值為datagridview中的資料
stu.age = 18;
(new form2(stu));
至於修改後的資料重新整理,可以在a中放入乙個timer控制項,方法很多種......
11樓:hope_李
form1中寫個公開方法
public void 修改行(int 行號,其他引數)private void 點選行要執行的方法()form2
public form1 f;//公開屬性public string a;//要傳的值點確定時的**
f.修改行( 行號,其他引數)
c# 普通窗體間傳值的方法?
12樓:
方法一、利用屬性傳值
background:①點選 button按鈕,將主窗體form1中textbox1 中的值傳到 form2中的textbox2中。② 點選form2中的按鈕,將form2中textbox的值傳給主窗體的文字框。
1、 在form2中定義乙個字段,封裝成屬性:
private string flag;
////// 接收傳過來的值
///public string flag
set}2、 在form1 button按鈕事件中,例項化乙個form2 窗體物件,並將textbox1中的值賦給 form2中的flag,這樣在窗體form2的登入事件中就可以獲取到窗體form1傳過來的值。
窗體:form1中的**:
private void button1_click(object sender, eventargs e)
}窗體:form2的load()事件
private void form2_load(object sender, eventargs e)
3、 子窗體傳值給父窗體(回傳) 點選form2中的button按鈕將form2中textbox的值傳給父窗體form1.
窗體:form2中的**
private void button1_click(object sender, eventargs e)
方法二、利用子窗體中的建構函式 (實現了父窗體給子窗體的傳值,但是子窗體的值回傳暫未實現)
1、 過載窗體form2中的 建構函式
string str = string.empty;//接收傳過來的值
public form2(string textvalue)
2、 主窗體呼叫子窗體時候傳引數:主窗體form1的button事件
form2 f2 = new form2(textbox1.text);
f2.showdialog();
13樓:匿名使用者
窗體間傳值的情況有很多種吧,不知道你說的那一種?通常是情況form1中呼叫form2,可以寫成form2 m_frm = new form2();m_frm.showdialog(); y =m_frm.
x(這裡是傳出引數);其中x為form2中變數,y為form1中變數。也可以對form2進行帶引數的初始化如form2 m_frm = new form2(x)(這裡是傳入引數)。
14樓:以暢
在**的最上方定義乙個靜態的全域性變數
15樓:匿名使用者
public partial class form1 : formprivate void button1_click(object sender, eventargs e)
}public partial class form2 : formpublic static void fulldata(string text)}
c#兩個窗體之間textbox如何傳值
16樓:
form1 中 全域性變數form2 f2=new form2();
按鈕事件:
f2.show();
f2.getvalue=textbox1.text;
form2中 屬性
public string getvalue}
17樓:
form1 下的button下的的
form2 f2 = new form2();
f2.getid(textbox1 .text );
this.hide();
f2.show();
form2 的**:
public form2()
public void getid(string id)
在c#中,如何實現在兩個窗體中相互傳值
18樓:匿名使用者
原創********************這個簡單。。。
直接告訴你答案也可以,告訴你精彩的細節更容易理解。
你定義的窗體,比如mainform,也就是乙個類,是繼承於form的乙個類
現在你定義了2個窗體類,乙個是form1,乙個是form2。
在類中傳遞值的方法有幾種:
方法1.公共變數
class form1
呼叫:form1 form1 = new form1(); //例項類
form1.omq504868 = 10;
方法2.公共屬性
class form1
呼叫:同上
}方法3:引數傳遞
class form1
}呼叫:
form1 form1 = new form1(10);
方法4:函式傳遞
到這裡,你可能理解還是有點難度。
那麼我舉個例。form2裡有列表框,其實是個**檔案管理器,點選列表框中的**檔名,form1就會顯示。
class form1
}呼叫:
class form2
}方法5:靜態變數。。。等等。
c兩個時間大小比較,c c 兩個時間大小比較
兩個時間大小的比較方法描述如下 首先解析字串,獲取年月日時分秒各項數值。然後按照先比較年月日,再比較時分秒的辦法進行比較。如果大於則返回1,如果小於返回0,如果等於返回2。這裡面需要利用到兩個知識點 比較年月日,可以先將年月日集成為乙個整數,然後比較整數即可比較出年月日的大小 sscanf可以將字串...
photoshop怎樣同時顯示兩個影象視窗
ps的介面,有兩種排列方式 一是浮動視窗,如下圖 二是選項卡方式,如下圖 實現這兩種介面的方法是 編輯 首選項 介面如下圖 很簡單,開啟影象後右擊 的標題 選擇 複製,現在是兩張一摸一樣的影象,然後選擇視窗 排列 平鋪 新建乙個空白視窗,再把複製的內容拖到新視窗中。點左下角的顯示模式就可以選擇你要顯...
C中有兩個窗體Form1和Form2,現在我想在F
我以前為了弄清委託和事件,自己也寫過兩個窗體間傳資訊的例子,把你的郵箱告訴下吧,我發給你看下 還有你說的 在form2中乙個按鈕的單擊事件中呼叫form1的form1 load 事件 就不是就是在from2中點按鈕時,from1顯示出來呢?汗乙個,委託和事件雖然強大,可也不至於這樣吧.解決問題的方法...