PDA

View Full Version : Click کردن روی یک دکمه از طریق کد



egoldashraf
شنبه 11 اسفند 1386, 03:22 صبح
سلام دوستان

من میخوام از طریق کد نویسی بتونم رویداد کلیک یک دکمه در یک فرم دیگه رو اجرا کنم

روش کار اینطوره که کنترلهای یک فرم رو به یک کلاس میفرستم و اونجا طبق شروطی که تعریف کردم باید بتونم کلیک بعضی از Button ها رو فعال کنم

ممنون میشم راهنمایی کنید

اَرژنگ
شنبه 11 اسفند 1386, 03:54 صبح
سلام دوستان

من میخوام از طریق کد نویسی بتونم رویداد کلیک یک دکمه در یک فرم دیگه رو اجرا کنم

روش کار اینطوره که کنترلهای یک فرم رو به یک کلاس میفرستم و اونجا طبق شروطی که تعریف کردم باید بتونم کلیک بعضی از Button ها رو فعال کنم

ممنون میشم راهنمایی کنید
"من میخوام از طریق کد نویسی بتونم رویداد کلیک یک دکمه در یک فرم دیگه رو اجرا کنم" روش درستی نیست، اگر واقعا اححتیاج دارید متدهایه یک فرم را در یک فرم دیگر صدا کنید اوم نتدها را پابلیک میکنید، کلیک کردن یک دگمه از یک یک فرم دیگر درست نیست.

"روش کار اینطوره که کنترلهای یک فرم رو به یک کلاس میفرستم و اونجا طبق شروطی که تعریف کردم باید بتونم کلیک بعضی از Button ها رو فعال کنم" :‌برایه اینکار متدهایه پالیک تعریف میکنید که دگمه ‌ها را فعال یا غیره فعال میکنند، همینطوری از یک فرم به یک فرم دیگر نباید دست انداخت و با خاصیت کنترلهاش ور رفت.

egoldashraf
شنبه 11 اسفند 1386, 12:47 عصر
کاری که باید انجام بدم اینه که برای کامپوننتی که از Button گرفتم بتونم Shortcut Key بذارم.
برای این کار میتونید راهنماییم کنید؟

hassan razavi
شنبه 11 اسفند 1386, 12:55 عصر
همینطور که جناب ارژنگ فرمودند روشتون و دیدتون اشتباه هستش و باید از قواین شیئ گرایی پیروی کنید. مسئله رو شفاف تر و با ذکر مثال توضیح بدهید تا بتونیم ریزتر براتون مثال بزنیم و راه حل ارائه بدیم.
دوست عزیز این روشی که شما در ذهن دارید اصولی نیست.

egoldashraf
شنبه 11 اسفند 1386, 12:58 عصر
دقیقا ShortCut رو که در منو داریم برای Button لازم دارم. مثلا یک Button رو با F2 فعال کنم

برای کلاسی که از Button گرفتم ، پراپرتی زیر رو نوشتم:


private Keys _shortCutKey = Keys.None;
[DefaultValue(typeof(Keys), "Keys.None")]
public Keys ShortCutKey
{
get { return _shortCutKey; }
set { _shortCutKey = value; }
}

حالا باید بتونم Shortcut رو تشخیص بدم و تابع کلیک رو اجرا کنم.

hassan razavi
شنبه 11 اسفند 1386, 13:10 عصر
برای این منظور می تونید کلیدهای فشرده شده در فرمتون رو برسی کنید.
کد گرفتن کلیدهای فشرده شده یک فرم توی همین تالار هستش. جستجو کنید پیدا میکنید.

egoldashraf
شنبه 11 اسفند 1386, 13:12 عصر
برای این کار باید به ازای هر فرم تمامی Button ها رو بررسی کنم.
برای یه برنامه بزرگ کار مشکلیه.
دنبال راه اصولی تری هستم

Masoud_TB
شنبه 11 اسفند 1386, 14:28 عصر
دوست عزیز کاری که می خواهی انجام بدی اصولا فقط برای تست نرم افزار ها انجام میشه و از طریق API امکان پذیر است ولی اگر موضوع استفادت چیزه دیگری است همانطور که ارژنگ گفت بهتره شما متد Handler مربوط به رویداد click رو فرخوانی کنی.

42li42li
یک شنبه 12 اسفند 1386, 16:28 عصر
این کارو هم می تونی بکنی
button1_Click(null,null);

egoldashraf
یک شنبه 12 اسفند 1386, 17:49 عصر
منصرف شدم ! همون کار سخته زودتر تموم شد!

stealer2007
یک شنبه 12 اسفند 1386, 17:58 عصر
با یکی از توابع API به نام send message میتونی این کارو بکنی و توسط ثابت mouse click والا دقیق یادم نیست ولی فکر کنم با این توابع بود