فراخوانی event ها به صورت دستی
سلام دوستان
من یه دکمه به صورت دستی و توسط کد زیر به برنامم اضافه کردم حالا اگه بخوام وقتی روی این دکمه کلیک شد مثلا یه messagebox بهم نشون بده.
Button button1 = new Button();
button1.Location = new Point(20,10);
button1.Text = "Click Me";
groupBox1.Controls.Add(button1);
با تشکر
نقل قول: فراخوانی event ها به صورت دستی
در ادامه همین کدها بنویسیدbutton2.Click +=
بعد بهتون میگه کلید تب رو بزنید که با زیدنش میتونید نام رویداد رو اگر خواستید تغییر بدید و دوباره تب بزنید تا رویداد ساخته بشه و کدهاتون رو درش بنویسید.
نقل قول: فراخوانی event ها به صورت دستی
آقا خیلی کارت درسته
کاش میدونستی چقدر کارمو راه انداختی.
ممنونم از لطفت.
نقل قول: فراخوانی event ها به صورت دستی
ببخشید یه مشکل دیگه برام پیش اومده
کد من قراره یه تسک بار درست کنه به ازای تمام فرمهای باز. اونوقت وقتی روی دکمه هایی که داینامبک ایحاد شده کلیک شد فرم مورد نظر فوکوس شه ولی نمی دونم چه جوری اسم دکمه ها رو با این Event که خودش ساخته باهاش ارسال کنم که بشه روش فوکوس کرد.
اینم کدش لازم ممنون
DevComponents.DotNetBar.
BubbleBar BBar = new DevComponents.DotNetBar.BubbleBar();
BBar.Dock =
DockStyle.Bottom;
DevComponents.DotNetBar.
BubbleBarTab Btab = new DevComponents.DotNetBar.BubbleBarTab();
Btab.Text =
"لیست فرمهای باز";
Btab.PredefinedColor = DevComponents.DotNetBar.
eTabItemColor.Blue;
BBar.Tabs.Add(Btab);
foreach (Form frm inApplication.OpenForms)
{
DevComponents.DotNetBar.
BubbleButton Bitem = new DevComponents.DotNetBar.BubbleButton();
Bitem.TooltipText = frm.Text;
Bitem.Name =
"btn_" + frm.Name;
Bitem.TagString = frm.Text;
Bitem.Image = frm.Icon.ToBitmap();
Btab.Buttons.Add(Bitem);
Bitem.Click +=
new DevComponents.DotNetBar.ClickEventHandler(Bitem_Click,Bitem);
}
BBar.Size =
newSize(200, 200);
grp_bubble.Controls.Add(BBar);
نقل قول: فراخوانی event ها به صورت دستی
بهتره سوالمو یه جور دیکه مطرح کنم توی یه حلقه foreach به ازای تمام فرمهای بازم یه دکمه ساخته میشه. حالا اگه بخوام روی دکمه های ایجاد شده اگه کلیک شد( که با راهنمایی آقای mafaman2003 این مشکل حل شد) اسم دکمه توی یه مسیج باکس نشون داده بشه چه کار باید کرد.
کدمم که کد بالاست
ممنون
نقل قول: فراخوانی event ها به صورت دستی
مشکل اینه که چون توی حلقه داره می چرخه اسم دکمه هر دفعه داره عوض میشه به خاطر همین نمی تونم تو متغیر بریزمش. فکر کنم به محض اینکه کلیک شد باید اسمو از یه جایی در بیاره که نمی دونم کجاس.
بازم ممنون
نقل قول: فراخوانی event ها به صورت دستی
سلام
دوست عزیز این کد رو تست کنید
private void Form1_Load(object sender, EventArgs e)
{
foreach (Form frm in Application.OpenForms)
{
Button TaskBarBtn = new Button();
TaskBarBtn.Text = frm.Text;
TaskBarBtn.Tag=frm ;
TaskBarBtn.Click+=button1_Click;
this.flowLayoutPanel1.Controls.Add(TaskBarBtn);
}
}
private void button1_Click(object sender, EventArgs e)
{
if (((Button)sender).Tag is Form)
{
Form frm = (Form)((Button)sender).Tag;
frm.Select();
frm.Activate();
}
}
نقل قول: فراخوانی event ها به صورت دستی
آقا من فدای مرام شما بشم. مشکلم حل شد.
دست شما درد نکنه.