PDA

View Full Version : سوال: انجام دستورات button2 با کلیک روی button1 ؟؟؟؟



aminie
دوشنبه 11 بهمن 1389, 09:34 صبح
سوال:

سلام
من میخوام اگرمثلا روی button1 کلیک شد عملیات button2 انجام شود چه کدی باید بنویسم؟؟
ممنون

parselearn
دوشنبه 11 بهمن 1389, 10:00 صبح
Private Sub button2_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.click,button1.click
msgbox (1)
End Sub

ebrahimv
دوشنبه 11 بهمن 1389, 10:16 صبح
Button2.PerformClick()

ali_najari
دوشنبه 11 بهمن 1389, 16:45 عصر
ميتونيد از دستور زير نيز استفاده كنيد:


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1_Click(Me, New System.EventArgs)
End Sub

damanpak
پنج شنبه 12 اسفند 1389, 15:11 عصر
سلام،برای انجام این کار به نظر من بهتر است روالی تعریف کرده و آن را فراخوانی کنید.اینجوری مشکلتون بهتر حل میشه

omid-vbAuto
پنج شنبه 12 اسفند 1389, 18:01 عصر
سلام،برای انجام این کار به نظر من بهتر است روالی تعریف کرده و آن را فراخوانی کنید.اینجوری مشکلتون بهتر حل میشه

من هم با پیشنهاد ایشان موافقم .برای این کار از sub ها و توابع دلخواه استفاده کن و در موقع نیاز فقط نام شونو بنویس .حتی در خوانائی و کیفیت کارت هم تاثیر میزاره.

alimanam
پنج شنبه 12 اسفند 1389, 18:03 عصر
با سلام

برای اینکه در همه جا بتونی با یه خط کد و به صورت کاملاً روتین این کار رو انجام بدی اول یه Module به پروژه ات اضافه کن و کد های زیر رو بنویس :

Module Module1
Private WithEvents ButtonName As Button
Public Sub ClickButton(ByVal ButtonName As Button, ByVal e As System.EventArgs) Handles ButtonName.Click
ButtonName.PerformClick()
End Sub
End Module


بعد برای فراخوانی این تابع در هر کجای پروژه فقط کافیه که اون رو صدا بزنی , به این صورت :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ClickButton(Button2, e)
End Sub

omid-vbAuto
پنج شنبه 12 اسفند 1389, 20:26 عصر
با سلام

برای اینکه در همه جا بتونی با یه خط کد و به صورت کاملاً روتین این کار رو انجام بدی اول یه Module به پروژه ات اضافه کن و کد های زیر رو بنویس :

Module Module1
Private WithEvents ButtonName As Button
Public Sub ClickButton(ByVal ButtonName As Button, ByVal e As System.EventArgs) Handles ButtonName.Click
ButtonName.PerformClick()
End Sub
End Module


بعد برای فراخوانی این تابع در هر کجای پروژه فقط کافیه که اون رو صدا بزنی , به این صورت :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ClickButton(Button2, e)
End Sub



با سلام خدمت علی جان ، دوست و استاد بزرگوار


علی جان بنظرتون کدهای بالاتون ضروری بود؟!

آخه زمانی ما می خوام عمل کلیک یک دکمه دیگه رو تحریک کنیم که به کداش نیاز داریم و نمی خواهیم در دکمه دیگه دوباره بنویسم.حالا بهتر نبود به جای کد زیر که نوشتین:


Module Module1
Private WithEvents ButtonName As Button
Public Sub ClickButton(ByVal ButtonName As Button, ByVal e As System.EventArgs) Handles ButtonName.Click
ButtonName.PerformClick()
End Sub
End Module


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

alimanam
پنج شنبه 12 اسفند 1389, 22:41 عصر
با سلام یه دوست خوبم امید جان


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

درسته . خوب حالا من اومدم کدهای به فرض مثال یه دکمه رو در جایی نوشتم ؟ :متفکر: من فقط تابع عمومی که درون ماژول بود رو در رخداد کلیک یه دکمه دیگه فراخوانی کردم همین . ( تابع ClickButton )


یه تابع یا یه Sub عمومی تعریف می کردین

خوب من هم دقیقاً همین کار رو انجام دادم ( همین تابع عمومی که می فرمائین رو درون ماژول عمومی نوشتم که در هرکجای پروژه که باشه بشه فراخوانی اش کرد )


و در داخل این روال ها کد های اون دکمه ای که نیاز داریم تحریک بشه رو بگنجتنیم.

خوب عزیزم من هم دقیقاً همین کار رو انجام دادم فقط همین روالی که می فرمائین رو در رخداد کلیک دکمه Button2 نوشتم . البته من منظور شما رو متوجه شدم شما به طور مثال میخواین مثلاً کاری رو که قراره در رخداد کلیک اون دکمه انجام بشه رو به صورت یه تابع بنویسی مثلاً تابعی که بیاد و اطلاعات یه جدول رو استخراج کنه یا تغییرات رو ذخیره کنه بعد در هرکجا که به این تابع نیاز بود با فراخوانی کردنش این کار انجام بشه .

اما در این تاپیک من فکر میکنم منظور این دوستمون این بوده که چه جوری فرایند کلیک شدن یه دکمه رو با استفاده از رخداد کلیک یه دکمه دیگه شبیه سازی کنیم . ( عنوان تاپبک دقیقاً همین موضوع رو درخواست کرده )

parselearn
جمعه 13 اسفند 1389, 05:54 صبح
vb.net از روش افزودن هندل استفاده ميكنه

... Handles button2.click,button1.click
چرا بايد روش يك مرحله اي رو دو مرحله اي كرد؟




Public Sub ClickButton(ByVal ButtonName As Button, ByVal e As System.EventArgs) Handles ButtonName.Click
ButtonName.PerformClick()
End Sub





Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ClickButton(Button2, e)
End Sub





Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1_Click(Me, New System.EventArgs)
End Sub