PDA

View Full Version : کار با MouseMove



hamedre81
دوشنبه 30 مرداد 1391, 23:59 عصر
با سلام چطوری می تونم وفتی روی یک دکمه هستم اگر موس از اونجا حرکت کنه یه کاری رو انجام بده ؟ طریقه کار با MouseMove هم اگر می شه بگید.

the king
سه شنبه 31 مرداد 1391, 00:03 صبح
با سلام چطوری می تونم وفتی روی یک دکمه هستم اگر موس از اونجا حرکت کنه یه کاری رو انجام بده ؟ طریقه کار با MouseMove هم اگر می شه بگید.

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

hamedre81
سه شنبه 31 مرداد 1391, 00:31 صبح
ممنون از پاسختون اما میشه طریقه نوشتن رخداد MouseMove رو بگید

the king
سه شنبه 31 مرداد 1391, 01:08 صبح
ممنون از پاسختون اما میشه طریقه نوشتن رخداد MouseMove رو بگید

وقتی شما عبارت =+ button1.MouseMove رو می نویسید، بصورت خودکار ویرایشگر بقیه کد رو آماده می کنه صرفا باید با دوبار فشار دادن کلید Tab
تکمیل کد رو تایید کنید. موقعی که کلاس فرم ایجاد میشه یا Load میشه، رخداد MouseMove رو به یک متد مثل button1_MouseMove وصل می کنید
و بعد هر کدی که خواستید داخلش می نویسید.

مثلا برای دکمه button1

public Form1()
{
InitializeComponent();
button1.MouseMove += new MouseEventHandler(button1_MouseMove);
}

void button1_MouseMove(object sender, MouseEventArgs e)
{
button1.Text = e.Location.ToString();
}

hamedre81
سه شنبه 31 مرداد 1391, 08:46 صبح
ممنون از پاسختون اگر سوالی دیگر داشتم حتما می پرسم باز هم ممنون

hamedre81
سه شنبه 31 مرداد 1391, 08:48 صبح
ببخشید یه سوال دیگه
مثلا من می خوام روی یک عکس وقتی کلیک می شه و اونجا کلیک نگه داشته میشه یه کار انجام بده و وقتیکه کلیک رو رها می کنه یه کار دیگه انجام بده .چطوری باید این کد رو بنویسیم

alireza.zahani
سه شنبه 31 مرداد 1391, 10:44 صبح
سلام
باید برای رویداد mouse up و mouse Down کد بنویسی

hamedre81
سه شنبه 31 مرداد 1391, 11:17 صبح
سلام
آیا میشه اصلا چند تا عکس رو مانند دکمه استفاده کرد؟

Y_Safaiee
سه شنبه 31 مرداد 1391, 11:25 صبح
با سلام خدمت شما دوست عزیز

اینم یه سمپل کد برای شما



private void pictureBox1_MouseLeave(object sender, EventArgs e)
{
pictureBox1.Image = imageList1.Images[0];
}

private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
pictureBox1.Image = imageList1.Images[1];
}

private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
pictureBox1.Image = imageList1.Images[2];
}

private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
pictureBox1.Image = imageList1.Images[3];
}


من برای اینکه بهم ریختگی تو برنامم پیش نیاد عکسهامو داخل Imagelist گذاشتم.

موفق باشی
بایت بایت