PDA

View Full Version : ایجاد کلید ctrl+z



niloo17
سه شنبه 25 فروردین 1388, 07:35 صبح
چه جوری می تونم برای یرنامه کلید میانبر ctrl+z (undo( را ایجاد کنم؟؟

seven7777777
سه شنبه 25 فروردین 1388, 08:09 صبح
سلام
بسته به برنامت باید کارهایی که توش انجام می دی رو log کنی و بعد وقتی کاربر ctrl+z رو زد باید آخرین عملی که تو log file هست رو برگردونی .
برای تعریف میانبر هم اگه برنامت منو داره می تونی یک کلید توش بذاری و هات کی شو برابر ctrl+z قرار بدی ، البته حتما راه های بهتری هم وجود داره :لبخند:!!!

niloo17
سه شنبه 25 فروردین 1388, 08:20 صبح
سلام
بسته به برنامت باید کارهایی که توش انجام می دی رو log کنی و بعد وقتی کاربر ctrl+z رو زد باید آخرین عملی که تو log file هست رو برگردونی .
برای تعریف میانبر هم اگه برنامت منو داره می تونی یک کلید توش بذاری و هات کی شو برابر ctrl+z قرار بدی ، البته حتما راه های بهتری هم وجود داره :لبخند:!!!

می شه بیشتر توضیح بدین:چشمک:

seven7777777
سه شنبه 25 فروردین 1388, 08:53 صبح
ببین شما باید با استفاده از یک فایل یا یک جدول در دیتابیست بسته به نوع برنامت کارهایی که کاربر می کنه رو ذخیره کنی مثلا اگر برنامت ویرایش متنه و کاربر رنگ جایی از متنو تغییر داد ، این تغییرو ذخیره کنی به همراه حالت اولیه بعد اگه کاربر خواست برگرده به عقب آخرین تغییر ایجاد شده رو از فایل بخونی و برگردونی .
حالا بگو برنامت چیه شاید بیشتر بشه مطلب رو باز کرد !!!

niloo17
سه شنبه 25 فروردین 1388, 08:59 صبح
برنامه من ویرایشگر تصویره یه چیزی مثل فتوشاپ
ممنون می شم اگه راهنمایی کنید

rezatati
سه شنبه 25 فروردین 1388, 10:18 صبح
با استفاده از این کد می تونی تشخیص بدی که کلید های Ctrl+z فشار داده شده است یا نه

در داخل متد KeyUp مر بوط به فرم برنامت


private void MainFrm_KeyUp(object sender, KeyEventArgs e)
{

if (e.Control && e.KeyCode == Keys.Z)
{
//your code here
}
}

niloo17
سه شنبه 25 فروردین 1388, 10:46 صبح
می شه لطف کنید کد log file را بگید

seven7777777
سه شنبه 25 فروردین 1388, 11:08 صبح
یه نگاه به این لینک بنداز .
http://www.computing.net/answers/programming/undoredo-in-c/11625.html



با استفاده از این کد می تونی تشخیص بدی که کلید های Ctrl+z فشار داده شده است یا نه

در داخل متد KeyUp مر بوط به فرم برنامت

کد:
private void MainFrm_KeyUp(object sender, KeyEventArgs e) { if (e.Control && e.KeyCode == Keys.Z) { //your code here } }


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

NewFoxStudent
سه شنبه 25 فروردین 1388, 11:13 صبح
در صورتی که خاصیت KeyPreview True باشه کار میکنه