PDA

View Full Version : سوال: کار با event ها به صورت کد نویسی



morrteza323
دوشنبه 10 مرداد 1390, 00:13 صبح
سلام دوستان عزیز
من تو برنامه ام با کد نویسی یه خط اضافه می کنم.اما وقتی می خوام تو event mouse_click
مثلا a.visible = false قرار بدم نمی شه .
این هم کد های من :


private void Form1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (this.Cursor == Cursors.Hand)
{
if (startdraw == true)
{
Getx = e.X;
Gety = e.Y;
startdraw = false;
}//end of if startdraw
else
{
LineShape a = new LineShape();
nn = opo.ToString();
a.Name = "ln" + nn.ToString();
cn.Parent = this;
a.Parent = cn;
a.StartPoint = new Point(Getx, Gety);
a.EndPoint = new Point(e.X, e.Y);
a.MouseMove +=new System.Windows.Forms.MouseEventHandler(a_MouseMove );
a.MouseClick += new System.Windows.Forms.MouseEventHandler(a_MouseClic k);
startdraw = true;
}//end of else
}
private void a_MouseMove(object sender, MouseEventArgs e)
{

this.Cursor = Cursors.Hand;
}
private void a_MouseClick(object sender, MouseEventArgs e)
{

}

morrteza323
دوشنبه 10 مرداد 1390, 11:56 صبح
دوستان کسی راه حلی نداره؟؟

morteza271
دوشنبه 10 مرداد 1390, 12:39 عصر
سلام دوست عزیز.
راستش منظورتون رو درست متوجه نمیشم!
خطا میده؟
لطفا بیشتر توضیح بدین!

morrteza323
دوشنبه 10 مرداد 1390, 13:30 عصر
خوب مثلا الان می خوام تو قسمت a_MouseClick برای شی a من تعریف کنم وقتی روی اون کیلک میشه visble = false قرار بگیره.اما نمی شه

morteza271
دوشنبه 10 مرداد 1390, 13:59 عصر
یه بار برنامتون رو تریس کنید ببینید اصلا رویداد a_MouseClick که نوشتین اجرا میشه یا نه؟
یا اصلا شاید بعدش جایی از کدتون گذاشتین که دوباره true بشه.
به نظر من بهترین روش برای اینکه مشکلتون حل شه اینه که برنامتون رو تریس کنید ببینید که در هنگام کلیک کردن بر روی a چه کارهایی انجام میشه.

morteza271
دوشنبه 10 مرداد 1390, 14:07 عصر
دوست عزیز شما خط a رو داخل رویداد فرمتون تعریف کردین.اینطوری دیگه در رویداد a_MouseClick نمیتونید a رو تغییر بدین.

LineShape a = new LineShape();
شما باید a رو به صورت عمومی در کل فرمتون تعرف کنید.
این کار رو بکنید به احتمال زیاد مشکلتون حل میشه.