PDA

View Full Version : چند تا سوال!



arash1718
شنبه 22 دی 1386, 18:59 عصر
وقتی تو محیط Net. یا Windows Form فارسی تایپ می کنیم با چه نوع Encoding نمایش داده میشه؟ Utf-8 ؟ اگه به دیتابیس هم بریزیم همین جوری میمونه؟
اگه بخوام برنامه ام رو که در Tray باز هست رو با زدن دکمه ای خاص در هر جایی که کاربر داره کار می کنه تو ویندوز باز بشه چه دستوری باید استفاده بشه؟

arash1718
یک شنبه 23 دی 1386, 13:58 عصر
کسی نیست جواب بده؟!؟!

MH2538
یک شنبه 23 دی 1386, 15:03 عصر
جواب سئوال2 :برای اینکار باید یک کلید میانبر رو رجیستر کنی.
نمونه کدش رو می‌تونی در این سایت ببینی
http://forums.devbuzz.com/tm.asp?m=38708&p=1&tmode=1

arash1718
یک شنبه 23 دی 1386, 23:14 عصر
جواب سئوال2 :برای اینکار باید یک کلید میانبر رو رجیستر کنی.
نمونه کدش رو می‌تونی در این سایت ببینی
http://forums.devbuzz.com/tm.asp?m=38708&p=1&tmode=1

این عبارت رو VS ارور مگیره :
using Microsoft.WindowsCE.Forms;
چی هست اصلا؟

azarin62
یک شنبه 23 دی 1386, 23:29 عصر
برای رجیستر کردن یک میانبر می تونی از کلاس زیر استفاده کنی


using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace Utility
{
publicclass HotKeys
{
[DllImport("user32.dll")]
publicstaticexternbool RegisterHotKey(IntPtr hWnd,
int id, int fsModifiers, int vlc);
[DllImport("user32.dll")]
publicstaticexternbool UnregisterHotKey(IntPtr hWnd, int id);
}
}


با استفاده از متد RegisterHotKey می تونی یک کلید میانبر رو رجیستر کنی
مثلا دستور زیر


Utility.HotKeys.RegisterHotKey(this.Handle, this.GetType().GetHashCode(),
8, (int)'N');

کلید Windows + N تو برنامه شما رجیستر می شه
بقیه کلید های ترکیبی
Alt = 1
Ctrl = 2
Shift = 4
Win = 8
و ازترکیب این کلیدها هم می تونی استفاده کنی
مثلا Ctrl + Alt = 2 +1 = 3

حالا واسه اینکه بفهمی کی کلیدی که رجیستر کردی صدا زده می شه از کد زیر استفاده کن


protectedoverridevoid WndProc(ref Message m)
{
//بررسی می کنه کلیدی که برای این فرم فرستاده شدی همون میانبر شماست یا نه
if (m.Msg == 0x0312 && (m.LParam.ToString() == "5111816"))
{
//کاری که باید انجام بشه رو اینجا قرار بده
}
base.WndProc(ref m);
}

arash1718
یک شنبه 23 دی 1386, 23:33 عصر
فکر کنم فهمیدم مشکل کجاست! من این عبارت رو توVS 2005 MSDN سرچ کردم که تاید شد اونجا اما الان با ویستا هستمو FW 3.0 نصبه! حالا می فرمایید چه کنیم؟

arash1718
چهارشنبه 26 دی 1386, 20:20 عصر
حالا واسه اینکه بفهمی کی کلیدی که رجیستر کردی صدا زده می شه از کد زیر استفاده کن


protectedoverridevoid WndProc(ref Message m)
{
//بررسی می کنه کلیدی که برای این فرم فرستاده شدی همون میانبر شماست یا نه
if (m.Msg == 0x0312 && (m.LParam.ToString() == "5111816"))
{
//کاری که باید انجام بشه رو اینجا قرار بده
}
base.WndProc(ref m);
}
[/quote]

ممنون دوست عزیز اما این قسمت فقط برای اون HOTKEY خاص هست بقیرو از کجا بیارم؟