PDA

View Full Version : سوال: ارسال دکمه فشرده شده در یک TextBox به textBox دیگر و تایپ شدن



reza_Nazem
یک شنبه 28 خرداد 1391, 09:14 صبح
با سلام
با توجه به کد زیر

public class text : TextBox
{
[System.Runtime.InteropServices.DllImportAttribute("user32.dll")]
public static extern bool PostMessage(IntPtr handleWnd, UInt32 Msg, Int32 wParam, Int32 lParam);

public text MyProperty { get; set; }

const int WM_KEYUP = 0x101;
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case WM_KEYUP:
{
Keys keys = (Keys)m.WParam.ToInt32();
if (keys == Keys.P)
{
if (MyProperty != null)
{
PostMessage(MyProperty.Handle, (uint)m.Msg, (int)m.WParam, (int)m.LParam);
}
}

break;
}
}
base.WndProc(ref m);
}
}


و


public Form1()
{
InitializeComponent();
textBox1.MyProperty = text1;
}


من قصد دارم اگر در یک textbox دکمه ای زده شد ان کارکتر به textbox دیگر ارسال شود دقیقا انگار در ان کنترل دومی ان دکمه توسط کیبورد وارد شده است
توجه کنید من نمی توانم فوکوس را تغییر دهم و همچنین نمی خواهم خاصیت text را به طور دستی مقدار دهی کنم (یعنی اینکه کلید زده شده را به text کنترل بعدی اضافه کنم )

در کد بالا من دکمه زده شده را به به رویداد keyup تکس باکس دومی ارسال کردم ، که ارسال هم شد ولی text ان تغییر نکرد که البته باید هم همین طور می شد
از دوستان کسی ایده ای داره ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟