PDA

View Full Version : آموزش: رویداد mouse wheel



mtsoft
یک شنبه 01 اردیبهشت 1392, 14:37 عصر
سلام خدمت همه اساتید عزیز

می خواستم بدونم چه جوری میشه واسه رویداد mouse wheel یک ابجکت کد نوشت مثلا واسه picturebox که با mouse wheel حالت زوم شبیه سازی بشه مثل برنامه های گرافیکی کد زوم کردنش برام مهم نیست بیشتر هندل کردن رویدا mouse wheel و این که از کجا بفهمیم کاربر چرخ رو به سمت بالا یا پایین میچرخونه مهمه

Arcsinos
یک شنبه 01 اردیبهشت 1392, 15:25 عصر
سلام مهندس، فقط کافیه که یه MouseEventHandler بنویسی و اونو به لیست MouseWheel آبجکتی که میخوای اضافه کنی . خاصیت Deltaی MouseEventArgs هم مشخص میکنه که چرخش به سمت بالا بوده یا به سمت پایین و چقدر چرخیده ( میزان چرخش بستگی به تنظیمات ویندوز برای موس داره ) . تو برنامه ی زیر یه هندلر به اسم mouseweel نوشتم و بعد اونو با عملگر += به لیست MouseWheelHandler فرمم اضافه کردم . فکر میکنم همه چی واضحه واسه همین بیشتر سر درد نمیدم.

103149

موفق و پیروز باشی

abdullah20
یک شنبه 01 اردیبهشت 1392, 15:58 عصر
public Form1()
{
InitializeComponent();
pictureBox1.MouseWheel += new MouseEventHandler(pictureBox1_MouseWheel);
}
private void pictureBox1_MouseHover(object sender, EventArgs e)
{
pictureBox1.Focus();
}
private void pictureBox1_MouseWheel(object sender, MouseEventArgs e)
{
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
if (e.Delta > 0)
{
pictureBox1.Width += Convert.ToInt32(pictureBox1.Width * 120 / 1000);
pictureBox1.Height += Convert.ToInt32(pictureBox1.Height * 120 / 1000);
}
else
{
pictureBox1.Width -= Convert.ToInt32(pictureBox1.Width * 120 / 1000);
pictureBox1.Height -= Convert.ToInt32(pictureBox1.Height *120 / 1000);

}
}