PDA

View Full Version : توی یه فرم مثلا با زدن کلید f2 کار جستجو رو انجام بدم



arya_system_bar
شنبه 06 دی 1393, 17:17 عصر
سلام
چطوری توی یه فرم مثلا بازدن کلید f2کار جستجو رو انجام بدم

aminmousavi
شنبه 06 دی 1393, 17:32 عصر
سلام دوست عزیز .
یک متد به اسم Searching() بساز . و کد زیر رو بزار توی برنامت :


[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vk);
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern bool UnregisterHotKey(IntPtr hWnd, int id);


enum KeyModifier
{
None = 0,
Alt = 1,
Control = 2,
Shift = 4,
WinKey = 8
}
public Form1()
{
InitializeComponent();
RegisterHotKey(this.Handle, 0, (int)KeyModifier.None, Keys.F2.GetHashCode());
}

protected override void WndProc(ref Message m)
{
base.WndProc(ref m);


if (m.Msg == 0x0312)
{
Keys key = (Keys)(((int)m.LParam >> 16) & 0xFFFF); // The key of the hotkey that was pressed.
KeyModifier modifier = (KeyModifier)((int)m.LParam & 0xFFFF); // The modifier of the hotkey that was pressed.
int id = m.WParam.ToInt32(); // The id of the hotkey that was pressed.
switch (id)
{
case 0: { Searching(); } break;
}
}
}

reza9025
شنبه 06 دی 1393, 17:39 عصر
سلام مهندس. یه برنامه ی کوچک برات نوشتم که با زدن کلید F2 متنی رو که داخل Text هست رو در Label قرار میده. می تونی کدهایی که مربوط به کپی مقدار هستند پاک کنی و کد مربوط به جستوجو رو بزاری.


فایل ضمیمه شد

hadi vafaii
شنبه 06 دی 1393, 18:41 عصر
سلام اگه بخوایم کلید میانبر دیگری بسازیم چجوریه؟مثلا اگه کاربر ctrl+n زد مثلا یه کاری انجام بده اینکه اگه این کارکتر ( & ) رو قبل از یه حرف قرار بدم اون حرف کلید میانبر میشه اما من نمیخوام اونجوری باشه میخوام با ctlr یا shift یا alt و دکمه های دیگه کلید میانبر بسازم

aminmousavi
شنبه 06 دی 1393, 19:51 عصر
دوست عزیز با همون تکه کدی که قرار دادم میتونی این کار رو انجام بدی کافیه اینجوری بنویسی :


RegisterHotKey(this.Handle, 0, (int)KeyModifier.Shift, Keys.N.GetHashCode());