PDA

View Full Version : حرکت دادن ماوس-جابجا کردن موس با کد



fortex
جمعه 23 فروردین 1392, 11:00 صبح
سلام به همه دوستان و اساتید گرانقدر

یه سوال داشتم :

چطور میتونم در سی شارپ کنترل ماوس را در دست بگیرم . مثلا میخام یه کد تغیر ماوس بنویسم و اونو توی یه تایمر بذارم که مثلا هر شصت ثانیه موقعیت و شکل نشانه گر ماوس در راستای عمودی و افقی یه مقدار مشخص عوض بشه
ناحیه کاریش هم کل میحط صفحه نمایش حتی اکر برنامه مینی مایز باشه کار کنه

mehrdad1991h
جمعه 23 فروردین 1392, 12:26 عصر
بیا این کد را ببین مثلا در رویداد MouseDown اومده کد نویسی کرده و رویداد MouseMove را فراخوانی کرده که همش را شما میتونی یه جا به کار ببری

private int difference = 10;
private int xPosition;
private int yPosition;

private void item_MouseDown(object sender, MouseEventArgs e)
{
this.MouseMove += new MouseEventHandler(Form_MouseMove);
xPosition = e.X;
yPosition = e.Y;
}

private void Form_MouseMove(object sender, MouseEventArgs e)
{
if (e.X < xPosition - difference
|| e.X > xPosition + difference
|| e.Y < yPosition - difference
|| e.Y > yPosition + difference)
{
//Execute "dragdrop" code
this.MouseMove -= Form_MouseMove;
}
}

سورس کد بالا [+ (http://stackoverflow.com/questions/4142577/mouse-cursor-position-changes)]
اینم یه چندتا لینک و نمونه

http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/a7cce3e8-4014-4fe3-9d62-24a9fdc7b610

http://social.msdn.microsoft.com/Forums/en-us/Vsexpressvcs/thread/f7eeb890-a87d-4dbb-9ea8-a77ded3ee363
(لینک دوم فک نکنم بهت جواب بده چون در انتهاش نوشته کار نداده ولی اولی اوکیه !)

fortex
شنبه 24 فروردین 1392, 11:38 صبح
این کد جواب نداد دوست عزیز میتونید یه بررسی کنید؟
این برنامه فرم رو موفع اجرا شدن جابجا میکنه
من میخاستم خود نشانگر موس مثلا موقع اجرا شدن بره به مختصاتی که از قبل براش تعیین کرده ایم

fortex
شنبه 24 فروردین 1392, 12:27 عصر
ابنم کدش:
this.Cursor = new Cursor(Cursor.Current.Handle);
Cursor.Position = new Point(x, y);
Cursor.Clip = new Rectangle(this.Location, this.Size);