PDA

View Full Version : سوال: تغيير Cursor



Armin060
دوشنبه 26 اسفند 1387, 12:36 عصر
چطور ميتونم اين كار رو بكنم؟ جست و جو هم كردم، ولی چيزی پيدا نكردم...!!!

bahar_engineer
دوشنبه 26 اسفند 1387, 12:57 عصر
یه cursor جدید (یک فایل با پسوند cur. ) در پوشه debug پروژه قرار دهید .

حالا در رویداد load صفحه تون می نویسید :



pictureBox1.Cursor = new Cursor("cross.cur");
صفحه من یک picturebox توش بود که کرسور روی اون تغییر می کرد. شما می تونین همون this.cursor رو هم بنویسید.

cross.cur هم نام کرسور جدیده که در پوشه debug کپی کردمش.

اگه هم منظورتون تغییر کرسور روی کنترل های فرم هست... روی کنترل مورد نظر کلیک راست کنید و از بخش property گزینه cursor رو از hand به اون شکلی که می خواین تغییر بدین. در این صورت وقتی موس روی اون کنترل بره شکل کرسور به شکلی که شما انتخاب کردید تغییر می کنه.

Armin060
دوشنبه 26 اسفند 1387, 13:03 عصر
من از اين راه ها رو خيلی امتحان كردم، ولی با هيچ كدوم به نتيجه نرسيدم. اين كد هم ArgumentOutOfRangeException ميده.

bahar_engineer
دوشنبه 26 اسفند 1387, 14:54 عصر
شما دقیقاً مشخص نکردید می خواین ظاهر کرسور رو توی پروژه تغییر بدین یا وقتی روی یک کنترل میره شکلش عوض بشه؟

در مورد اول می تونین از لینک زیر هم کمک بگیرین


http://www.geekpedia.com/KB37_How-do-I-change-the-mouse-cursor-to-a-hourglass.html

mtaboy
دوشنبه 26 اسفند 1387, 16:09 عصر
شما روی هر آبجکتی کلیک کنی تو پروپرتیش یه گزینه به نام Cursorداره از اونجا میتونی تغییرش بدی

Armin060
دوشنبه 26 اسفند 1387, 18:35 عصر
ميدونم كه تو Property هر Control خصوصيت Cursor هست. ولی اون فقط Cursor های انتخاب شده واسه Windows رو داره. من ميخوام يك فايل cur يا ini به دلخواه به عنوان Cursor انتخاب كنم. هم واسه فورم ميخوام و هم واسه Control. البته يه چيز هایی تو MSDN پيدا كردم، ولی خوب، فكر كنم بايد قبلش يك سری ( احتمالا سه مرحله ) كار انجام بديم، كه من دو تا اول رو انجام دادم، ولی سومی رو نفهميدم. آدرس زير در مورد اين مطلب در MSDN هست.

http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor(VS.80).aspx

rnm123
دوشنبه 26 اسفند 1387, 22:22 عصر
دوست عزیز شما میتوانید از کد زیر استفاده نمائید :


myControl.corsur = new corsur ( D:\\MyCorsur.cur);


در کد فوق mycontrol نام کنترلی است که میخواهید نشانگر موس روی آن تغییر کند و mycorsur هم نام فایل نشانگر دلخواه شما است البته دقت کنید نشانگرهای متحرک ( یا انیمیشنی ) در این حالت ساپورت نمی شوند و خطای زمان اجرا میدهد.
برای تغییر نشانگر در کل محیط برنامه به جای نام کنترل باید ابتدا نام فضای نام اصلی برنامه و بعد عبارت activeform و بعد عبارت corsur را بکار ببرید یعنی مثلا :
...programSpaceName.ActiveForm.Corsur = new Corsur

Armin060
سه شنبه 27 اسفند 1387, 21:01 عصر
جناب bahar_engineer (http://barnamenevis.org/forum/member.php?u=90222) هم كد شما رو گفتند، ولی جواب نميده، خطای زمان اجرا ميده ArgumentOutOfRangeException

از همه عزيزانی كه كمك كردن. تشكر ميكنم. فهميدم بايد چی كار كنم.

welcome
چهارشنبه 28 اسفند 1387, 01:03 صبح
سلام
.......
می تونید این کد هم بنویسید.
Cursor = Cursors.WaitCursor

مثلا:

private void BtnInfo_Click(object sender, EventArgs e)
}
Cursor = Cursors.WaitCursor;
{

Armin060
چهارشنبه 28 اسفند 1387, 17:26 عصر
اره اين رو هم ميدونم، من ميخواستم يه فايل كرسر كه تو كرسر های ويندوز نيست رو به عنوان كرسر برنامه ام انتخاب كنم، كه فهميدم بايد چی كار كنم...

hossein16
جمعه 09 اردیبهشت 1390, 10:22 صبح
بابا چرا سوال این دوستمونو دقیق نمی خونید
منم همین مشکل را دارم اینهایی که گفتید را که همه می دونند