PDA

View Full Version : سوال: پردازش کلیدهای زده شده در فرمی خاص



Sal_64
جمعه 03 آبان 1387, 12:41 عصر
پردازش چند کلید خاص از کیبرد زمانی که فوکوس بر روی پنجره خاصی قرار داره

توضیحات بیشتر

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

و خود ما می خوایم مورد نظر رو ایجاد کنیم

مثال عملی

در پنجره PrintPreviewDialog امکان استفاده صحیح از رویدادهای صفحه کلید نیست (اون چیزی که تا الان دیدم)

حالا می خوایم کلیدها ی زده شده توسط تابعی که خودمون طراحی می کنیم شناسایی بشن

و بعد از اون از کلیدها به صورت دلخواه استفاده کرد


با تشکر فراوان :بوس:

مهدی رحیم زاده
جمعه 03 آبان 1387, 18:59 عصر
میشه دقیقا بگی که می خوای چکار کنی .
یعنی چه کلیدی چه کاری رو اونجا انجام بده !!!!

Sal_64
جمعه 03 آبان 1387, 19:12 عصر
سلام



یعنی چه کلیدی چه کاری رو اونجا انجام بده !!!! حقیقتش نخواستم با ورود به جزئیات سوال رو مبهم و سخت جلوه بدم
و خواستم بدون جزئیات دوستان سوال رو برررسی کنن

اما اگر جزئیات بیشتری احتیاجه
لطفا لینک زیر رو ببینید

http://barnamenevis.org/forum/showthread.php?t=127181&highlight=printPreviewDialog



با تشکر

مهدی رحیم زاده
جمعه 03 آبان 1387, 19:59 عصر
دقیقا نفهمیدم چون خودم همیشه از کریستال ریپورت استفاده می کنم اما هر کنترلی یه خاصیتی به اسم Dock داره که نحوه پر کردن اون بخش رو توسط اون کنترل تعیین می کنه . یه فرم بزار و کنترل مورد نظرت رو توی اون فرم Dock کن . فرم رو هم تو حالت Max بزار . بعد از این حالت نمایش میشه فول اسکرین . اما این راهی بود که من توی کریستال ریپورت ازش استفاده می کنم .
نمی دونم اینجا هم جواب مبده یا نه . باید اونی رو که شما خواستید رو هم چک کنم .
موفق باشید .

Sal_64
یک شنبه 05 آبان 1387, 13:34 عصر
سلام


یه فرم بزار و کنترل مورد نظرت رو توی اون فرم Dock کن . فرم رو هم تو حالت Max بزار . بعد از این حالت نمایش میشه فول اسکرینبا دستورات این کار قابل انجامه(فول اسکرین)
آیا میشه پنجره پرینت پریویو دیالوگ رو با تمام امکانات و همه قابلیت هاش داخل یه فرم که خودمن ساختیم
Dock کنیم ؟؟




حقیقتش نخواستم با ورود به جزئیات سوال رو مبهم و سخت جلوه بدم
و خواستم بدون جزئیات دوستان سوال رو برررسی کنن
ظاهرا سوال مبهم شده !! :گیج:

دوستان می تونن راهی کلی برای پردازش کلیدهای زده شده در یک پنجره که اتفاقی اینجا (PrintPreviewDialog) می باشد ، معرفی کنند ؟؟ :متفکر:


یک پروژه هم اینجا میگذارم دوستانی که می خواهند با کد متوجه منظور شوند ببینند :چشمک:

تذکر :
در صورتی که تابع tabstop() در رویداد Load پنجره PrintPreviewDialog فراخوانی شود
اختیار صفحه کلید به دست خودمه :لبخند:

و اگر فراخوانی نشود همه چیز دست خود برنامه است :ناراحت:

jaza_sa
یک شنبه 05 آبان 1387, 14:01 عصر
http://barnamenevis.org/forum/showpost.php?p=599704&postcount=3

Sal_64
یک شنبه 05 آبان 1387, 17:22 عصر
سلام

جناب jaza_sa تشکر
اما مسئله چیز دیگه ای

نمونه برنامه ای که قرار دادم و همچنین لینک موجود در پست 3 می تونه دوستان رو بیشتر راهنمایی کنه



با تشکر

مهدی رحیم زاده
یک شنبه 05 آبان 1387, 20:24 عصر
با دستورات این کار قابل انجامه(فول اسکرین)
آیا میشه پنجره پرینت پریویو دیالوگ رو با تمام امکانات و همه قابلیت هاش داخل یه فرم که خودمن ساختیم
Dock کنیم ؟؟
اینا که بله میشه . خیلیم سادست!!!

دوستان می تونن راهی کلی برای پردازش کلیدهای زده شده در یک پنجره که اتفاقی اینجا (PrintPreviewDialog) می باشد ، معرفی کنند ؟؟


یک پروژه هم اینجا میگذارم دوستانی که می خواهند با کد متوجه منظور شوند ببینند

تذکر :
در صورتی که تابع tabstop() در رویداد Load پنجره PrintPreviewDialog فراخوانی شود
اختیار صفحه کلید به دست خودمه
اینا در واقع مربوط به ویندوزن و شما دارین اینا رو فراخوانی می کنید ، درسته ؟
پس فکر نمی کنم که به شما این اجازه رو بده که بتونی روش عملیات خاصی رو انجام بدی . اما تحقیق کنی بهتره چون من مطمئن نیستم و شاید راهی برای این کار باشه .

Sal_64
یک شنبه 05 آبان 1387, 22:39 عصر
سلام



اینا که بله میشه . خیلیم سادستامکان داره بیشتر توضیح بدید و در صورت امکان یه قطعه کد بزارید



با تشکر

مهدی رحیم زاده
یک شنبه 05 آبان 1387, 23:17 عصر
امکان داره بیشتر توضیح بدید و در صورت امکان یه قطعه کد بزلری
چشم تا فردا حتما

Sal_64
چهارشنبه 15 آبان 1387, 13:42 عصر
سلام به همه دوستان
کسی می تونه برا این سوال جوابی بده


آیا میشه پنجره پرینت پریویو دیالوگ رو با تمام امکانات و همه قابلیت هاش داخل یه فرم که خودمن ساختیم
Dock کنیم ؟؟ با تشکر

Sal_64
چهارشنبه 15 آبان 1387, 21:26 عصر
سلام

برای سوال فوق اینکار رو کردم اما

Form3 for3 = new Form3();
for3.Controls.Add(printPreviewDialog1);
for3.Show();حتی خواستم اون رو در داخل پنلی که در Form3 ایجاد کرده بودم Add کنم و لی باز هم ایررور زیر رو میده که البته واضحه


Top-level control cannot be added to a control.چه باید کرد ؟؟؟


با تشکر

Sal_64
جمعه 17 آبان 1387, 12:34 عصر
سلام

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


public partial class Form3 : Form
{
public PrintPreviewDialog form;
public Form3(PrintPreviewDialog f)
{
form=f;
InitializeComponent();



Form3 for3 = new Form3(printPreviewDialog1);
for3.ShowDialog();البته خواستم بعد از اینکه فرم 3 لود شد form رو به اون اضافه کنم (form همون فرم تعریف شده به عنوان پارامتر به فرم 3 فرستاده شده)

اما ایرور پست قبل رو داد

سوال آیا ارسال فرم بعنوان پارامتر به فرم دیگه درسته و آیا حتی امکان داره ؟


چه کنم؟

با تشکر

rostamkhani
شنبه 02 آذر 1387, 20:48 عصر
سلام
http://barnamenevis.org/forum/showpost.php?p=637522&postcount=8

رافعی مهدی
یک شنبه 03 آذر 1387, 10:51 صبح
سلام
براي پردازش كليدهاي زده شده در يك فرم:

http://barnamenevis.org/forum/showthread.php?t=132423
براي اعمال تغييرات دلخواه روي هر Common Dialog Box:

http://www.codeguru.com/csharp/csharp/cs_controls/custom/article.php/c12801

يا

http://www.codeproject.com/KB/dialog/OpenFileDialogEx.aspx

موفق باشيد