輸入視窗(即自制鍵盤)通過button編輯文本到textBox,所編輯的文本如何傳送到其他視窗的各個textBox中?
uj5u.com熱心網友回復:
那不就是視窗傳值的問題? 靜態變數、委托之類的都能處理吧uj5u.com熱心網友回復:
如果你是基于父表單彈出的子表單(自制鍵盤),那用是Owner就行了。form1是父表單,form2是子表單:
//點擊父表單的文本框,彈出子表單
private void textBox1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Owner = this;
frm2.ShowDialog();
}
//在子表單中按鈕點擊事件
private void button1_Click(object sender, EventArgs e)
{
Form1 form1 = (Form1)this.Owner;
form1.textBox1.Text = "1231321";
}
注意:在父表單中的textBox1的Modifiers屬性必須設定為Public。
uj5u.com熱心網友回復:
就是兩個Form之間傳值,用委托吧uj5u.com熱心網友回復:
我之前給一個同學寫的一個Demo你這里也可以用uj5u.com熱心網友回復:
委托TextChange里邊呼叫
uj5u.com熱心網友回復:
請問:我是有多個父表單,且里面有許多textBox,每個textBox輸入都要呼叫子表單(鍵盤)來輸入,那么怎樣通過子表單的“確認”button,將輸入文本傳送到目標textBox中?uj5u.com熱心網友回復:
用委托,自定義鍵盤,那就是用戶控制元件,定義一個傳遞物件public class InputEventArgs : EventArgs
{
public InputEventArgs(string inputText)
{
InputText = inputText;
}
public string InputText
{
get;
set;
}
}
鍵盤控制元件里面定義
public delegate void ClickNumberKeyboardHandler(object sender, InputEventArgs e);
public event ClickNumberKeyboardHandler ClickNumberKeyboard;
表單呼叫
this.numKeyboardCtrlNumAndLetter1.ClickNumberKeyboard += NumKeyboardCtrlNumAndLetter1_ClickNumberKeyboard;
private void NumKeyboardCtrlNumAndLetter1_ClickNumberKeyboard(object sender, InputEventArgs e)
{
this.textBox1.Text += e.InputText;
}
uj5u.com熱心網友回復:
代碼在 http://www.loveying.com.cn/Keyboard_Demo.raruj5u.com熱心網友回復:
謝謝,我是有多個父表單,且里面有許多textBox,每個textBox單擊輸入都要打開子表單Form6(鍵盤)來輸入,那么怎樣通過子表單的“確認”button,將輸入文本(Form6.textBox1)傳送到目標textBox(其它Form)中?uj5u.com熱心網友回復:
你就是要一個螢屏鍵盤功能?那直接網上找一個或者直接用系統自帶的不就行了?你要這樣的話我那個改改也是可以的
推薦你用系統自帶的吧
private Process pr;
pr = Process.Start("osk");//打開螢屏鍵盤
pr.CloseMainWindow();//關閉螢屏鍵盤
省事
uj5u.com熱心網友回復:
推薦你的 做法1.鉤子
2.繪制一個鍵盤,開放委托和事件,然后每次都需要記錄你需要填充的 組件,然后用事件去更改你需要的值即可。
uj5u.com熱心網友回復:
如果你的 控制元件比較多,你可以 在定義一個 OnKeyDown 事件 把你按的 那個 控制元件的 ID 給傳送給鍵盤 視窗然后再 回呼給 原視窗進行 Controls.FindControl(para)uj5u.com熱心網友回復:
思路:在父表單點擊"小鍵盤"按鈕時,給"小鍵盤"子表單傳遞一個引數,小鍵盤輸出的文本會按這個引數傳遞給對應的父表單。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/117640.html
標籤:C#
上一篇:開始除錯按鈕變灰,不能使用
下一篇:用WPF的多么? 進來報個到
