PDA

View Full Version : سوال: ساخت کلید ترکیبی در کیبورد مجازی



atp1.ir
یک شنبه 28 آبان 1391, 16:47 عصر
سلام.من دارم ی کیبرد مجازی طراحی میکنم برای ساخت کلیدهای مجازیش از چه کدی استفاده کنم ؟؟؟ ( نمیخوام از کیبرد کامپیوتر استفاده بشه) مثلا وقتی دکمه ctrl و بعد دکمه c زو میزنه اون قسمتی که انتخاب شده کپی بشه توی clipboard.

ممنون !! :خجالت:

morteza271
یک شنبه 28 آبان 1391, 17:07 عصر
سلام.
برای اینکار به نظرم شما باید یه متغیر از نوع بولین تعریف کنید که نشون دهنده ی این باشه که کلید کنترل زده شده یا نه...
مثلا ctrlFlag که با هر بار زدن کلید کنترل شما میتونید مقدارش رو عوض کنید.
بعد در هر بار زدن کلیدها چک کنید که اگه این متغیر true بود و کلید مورد نظر هم زده شده بود عمل مورد نظر انجام بشه.و بعدش هم این متغیر رو false کنید.
من کیبورد مجازی در wpf طراحی کردم و به این صورت برای کنترل کلیدهای ترکیبی عمب میکنم.
موفق باشید

Mahmoud Zaad
یک شنبه 28 آبان 1391, 17:38 عصر
سلام
اگه از دکمه استفاده می کنید می تونید برای Ctrl و Alt و Shift و Caps و ... از چک باکس استفاده کنید. به این صورت که خاصیت Appearance چک باکس رو روی Button قرار بدید. حالا وقتی مثلاً کنترل زده بشه بعلاوه c عملیات کپی که انجام میشه بعد دکمه کنترل هم از حالت انتخاب در می آد. اگه دو بار هم روی مثلاً کلید کنترل زده بشه باز هم از حالت انتخاب در می آد. منطقش شبیه چیزی هست که دوستمون گفتند ولی به نظرم این ساده تره.

atp1.ir
یک شنبه 28 آبان 1391, 18:44 عصر
سلام.
برای اینکار به نظرم شما باید یه متغیر از نوع بولین تعریف کنید که نشون دهنده ی این باشه که کلید کنترل زده شده یا نه...
مثلا ctrlFlag که با هر بار زدن کلید کنترل شما میتونید مقدارش رو عوض کنید.
بعد در هر بار زدن کلیدها چک کنید که اگه این متغیر true بود و کلید مورد نظر هم زده شده بود عمل مورد نظر انجام بشه.و بعدش هم این متغیر رو false کنید.
من کیبورد مجازی در wpf طراحی کردم و به این صورت برای کنترل کلیدهای ترکیبی عمب میکنم.
موفق باشید

ممنون از راه حلتون
معذرت میخوام ببخشید با چه دستوری مشخص کنم که دکمه زده شده یا نه ؟ (اکثر راهها رو امتحان کردم نشد)

morteza271
یک شنبه 28 آبان 1391, 18:58 عصر
معذرت میخوام ببخشید با چه دستوری مشخص کنم که دکمه زده شده یا نه ؟
منظورتون رو متوجه نشدم! مگه از چه کنترلی برای هر کلید استفاده می کنید؟!!
اگه از باتن استفاده می کنید می تونید در رویداد کلیک باتن بذاری ...
البته اگه بخواین برای هر باتن یه رویداد بنویسین خیلی پیچیده میشه و به نظرم بهتره که از رویداد برای همه استفاده کنید و همه موارد رو کنترل کنید.
موفق باشید

danialafshari
یک شنبه 28 آبان 1391, 19:02 عصر
علاوه بر پاسخ دوستان می تونید از کامپوننت dotnetbar 10 هم استفاده کنید که به صورت آماده درش وجود داره