1樓:匿名使用者
沒太明白你說的後面的話,如果是子窗體給父窗體傳值,方法很多;
用委託的方法就能實現你第乙個要求:比如輸入文字 事件1,點選確定。在form1 視窗的 「主事件」 右邊 顯示:事件1 ,至於你怎麼顯示或者顯示在什麼地方由你**決定了;
form2 介面:
public delegate void showinfo(string value);
public event showinfo onshowinfoevent;
確定按鈕裡面**:
if(onshowinfoevent ! =null)
form1 介面:
form2 f2 = new form2();
f2.onshowinfoevent += formshowinfo;//這個就是從form2傳過來的值
f2.show();
//這個就是從form2傳過來的值
void formshowinfo(string value)
2樓:匿名使用者
沒試過。this.mdiparent獲取後操作應該可以把
3樓:陽光的雷咩咩
說白了你就想仿照vs的設計器或者類似畫圖工具箱?
c#子視窗 呼叫父視窗的變數
4樓:匿名使用者
1.可以用建構函式,new子視窗的時候傳過去。
2.可以在父視窗定義為屬性,子視窗裡例項化父視窗可直接呼叫
5樓:匿名使用者
在子窗體中設定乙個int變數,使用set get方法定義好。然後子啊父窗體中開啟子窗體時把friendid 變數傳遞過去
6樓:
在子視窗裡定義乙個chatform的變數或屬性。建立子視窗的時候把主視窗的引用(this)傳進去。這樣行不?
7樓:匿名使用者
可能通過建構函式傳參,子窗體帶建構函式new 子窗體(int firiendid),或是通過靜態變數,public static int friendid,不過這樣的話安全性要差一些
8樓:ps臉粉粉
樓主你好:
你在你第二個窗體裡面直接這樣寫就行了
private void button2_click(object sender, eventargs e)
希望對你有幫主,望採納。謝謝、
9樓:匿名使用者
思路 建立子窗體 然後找到子窗體的屬性
form fr=new form();
fr.公開的屬性=「成功」;
10樓:匿名使用者
需要將要訪問的變數設定為公有的,即 public;
在子視窗中 this.parentform.(變數名) 即可訪問
怎樣在c#中實現父窗體向子窗體傳值和子窗體向父窗體傳值
11樓:笨蛋是你我
子窗體按鈕事件
childwindow child = new childwindow() ;//第1步,給子窗體傳值了
child.showdialog();//第2步,呼叫showdialog
if (child.dialogresult==true)//第3步,然後對dialogresult進行判斷
父窗體按鈕事件
textbox2.text= "我要給子窗體傳值";
this.dialogresult = true;//第3步,首先會話結束
12樓:匿名使用者
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)}}
13樓:匿名使用者
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#中子視窗呼叫父視窗中控制項內容的問題
14樓:匿名使用者
首先你在form2裡面建立乙個公開form1的物件,然後在form2裡面寫乙個窗體載入事件,下面是**:
public form1 form1;//這是建立的物件
private void form2_load(object sender, eventargs e)//窗體載入事件
form2的設定搞定,
然後把form1的textbox1公開一下,在屬性裡面設定,屬性叫modifiers-->設定為public, 然後有乙個按鈕開啟form2,事件為:
private void button1_click(object sender, eventargs e)
15樓:匿名使用者
這種做法一般是通過屬性來實現的,將窗體物件引用傳遞給查詢視窗,然後操作之
16樓:請叫我小備
建構函式吧。子視窗設定全域性變數將父視窗傳入的值賦給它。也可以直接父視窗的控制項modifiers屬性設為public直接呼叫的。(前提傳過去的是父視窗物件)
17樓:匿名使用者
有個簡單的方法:(1)先把你要modifiers的值設定為public;(2)再在子窗體中宣告public static form1 form1 = null;(父窗體為form1),這樣就可以通過form1.form1.
label1.text =""(以控制項label1為例) 來為你想改變的控制項的屬性值了;
c# 子視窗控制父窗體的方法。和使用父視窗的控制項,
18樓:
很簡單的,首先你需要在父窗體中定義乙個委託然後在子窗體中使用這個委託
使用委託相對要麻煩一點,你想簡單的話,也可以直接將父窗體傳遞到子窗體去,像這樣改下就行了
form _form = null;
//將基類定義為子窗體的構造器引數
public form2(form from)//呼叫父窗體的方法就變成這樣
_form.showform();
當然父窗體中建立子窗體時,就應該這樣了
//建立子窗體,並將父窗體傳遞到子窗體去
form2 f = new form2(this);
f.show();
忘了一點,那個在子窗體呼叫的方法不能再是private的了,一定要改成public的,這樣才能在子窗體中使用。
19樓:小豬愛上羊
把父窗體作為引數傳遞給子窗體。父窗體可以定義一些public控制項,把自身控制項賦值給它,供子窗體呼叫。
c#如何把子窗體的值傳給父窗體?
20樓:男人**
1吧變數h宣告為public static..子視窗直接:父視窗類名.h=2
2或者吧父視窗物件傳到子視窗去。。直接就可以呼叫了
21樓:曾經黃過
你可以在父窗體中重寫個form方法:例:
public form1(string h)然後在子類中這樣寫:例單擊一按鈕事件:
private void button1_click(object sender, eventargs e)
希望能幫到你!
c#中怎麼在子窗體中呼叫父窗體中的函式
22樓:孫中呂
好好思考下,別誤人子弟!
為了回答這個問題,特意寫了篇文章說明,請看正確處理方式:
c# 子窗體中呼叫父窗體中的方法(或多窗體之間方法呼叫
23樓:匿名使用者
你把父窗體和子窗體都理解為乙個類來做你就會發現原來是比較簡單的。因為你現在所有做的這些東西都是在private裡面做的。所以說在子窗體裡面是無法訪問父窗體的內容。
如果你當作是類來做的話,你只需要將private改為public就可以訪問了。
24樓:匿名使用者
父窗體是是form1,子窗體是form2
form1中開啟form2:form2 frm2 = new form2();
frm2.owner=this;
frm2.show();
子窗體調父窗體方法:
form2中 form1 frm1;
frm1 = (form1) this.ownerfrm1.indata()
25樓:
有兩種方法:
1、利用訊息,子窗體完事後,發乙個訊息給父窗體,父窗體接受到訊息後呼叫indata
2、利用子窗體的parentform這個屬性,並轉成父窗體型別,就可以呼叫了。期間還涉及到子窗體是靜態的還是例項的。看著除錯
C編譯後視窗瞬間消失解決後加分
正常現象,你在main 函式裡加上最後一句getchar 就可以了 ntdll.dll 是未知的使用者斷點的意思。其它那一堆火星文就要由大蝦來解釋一下了 幫不了你 通過最後一句,你的程式已經執行完畢,最有可能的原因是選取的斷點位置不好,程式根本執行不到那裡。你是用ctrl f10?ctrl f5 c...
C怎麼讓新彈出的視窗也在webBrowser中顯示
加個事件就可以拉如下 private void webbrowser newwindow object sender,canceleventargs e 不行的可以hi我, 楚人無衣 擴充webbrowser控制元件,最好的方案 1 加入micsofft internet controls引用 專案...
我通過修改登錄檔的方式更改視窗護眼色win10系統
開啟word2016,選擇檔案 選項 高階 顯示文件內容 在頁面檢視中顯示背景色和影象,勾選。完成。題主找到方法了嗎,我也有同樣的困惑 win10 檔案的視窗背景如何變成豆綠色?目前只能通過修改登錄檔實現,具體步驟如下 1 開啟登錄檔 執行 regedit 確定 2 依次開啟 hkey curren...