اگه میشه کد رو هم بنویسید تا من بهتر متوجه بشم :31:
یه سوال دیگه ... در vb2008 چه جوری میشه تشخیص داد که چه دکمه ای فشرده شده ؟
در حالت های مختلف ... مثلا وقتی کلیک سمت چپ موس با کلید شیفت فشرده شده بود یه کاری رو کنه.
Printable View
اگه میشه کد رو هم بنویسید تا من بهتر متوجه بشم :31:
یه سوال دیگه ... در vb2008 چه جوری میشه تشخیص داد که چه دکمه ای فشرده شده ؟
در حالت های مختلف ... مثلا وقتی کلیک سمت چپ موس با کلید شیفت فشرده شده بود یه کاری رو کنه.
سلام
الآن که به متد DrawEllipse نگاه کردم متوجه شدم، اصلاً نیازی به انجام هیچ کدام از محاسباتی که در پست قبلی گفته بودم نیست!!!نقل قول:
اگه میشه کد رو هم بنویسید تا من بهتر متوجه بشم
در واقع برای رسم یک بیضی به آن اطلاعات نیاز است ولی پارامترهای ورودی DrawEllipse را فراموش کرده بودم.
DrawEllipse خودش یک محدوده مستطیلی را میگیرد و بیضی/ دایره را داخل ان ترسیم میکند.
نتیجتاً به راحتی با کد زیر میتوانید ترسیم را انجام دهید:
گرچه میتوان کدهای بهتری هم نوشت.کد:Dim rect As New System.Drawing.Rectangle( _
If(point1.X < point2.X, point1.X, point2.X), _
If(point1.Y < point2.Y, point1.Y, point2.Y), _
Math.Abs(point1.X - point2.X), _
Math.Abs(point1.Y - point2.Y))
graphicsvariantname.DrawEllipse(System.Drawing.Pens.Black, rect)
اگر به رویدادهای ماوسس دقت کنید یک پارامتر e به شما تحویل داده میشود کهنقل قول:
در حالت های مختلف ... مثلا وقتی کلیک سمت چپ موس با کلید شیفت فشرده شده بود یه کاری رو کنه.
e.Button دکمه های فشرده شده ماوس را مشخص میکند.
e.Location موقعیت ماووس را مشخص میکند
و...
برای کیبورد یا باید از رویداهای کیبورد مثل KeyDown استفاده کنید که مقادیر زیر را تحویل میدهد:
e.Alt
e.Control
e.Shift
e.Modifiers
e.KeyCode
e.KeyData
e.KeyValue
و...
یا باید از متد System.Windows.Forms.Control.ModifierKeys استفاده کنید که کلیدهای فشرده شده را بازگرداند.
از راهنماییتون خیلی ممنونم ... ولی من هیچ چی از کد رسم بیضی نفهمیدم :31:
این Point این وسط چی کارس :20:
سلام
در کد فوق point1 و point2 از نوع ساختار System.Drawing.Point هستند.کد:Dim rect As New System.Drawing.Rectangle( _
If(point1.X < point2.X, point1.X, point2.X), _
If(point1.Y < point2.Y, point1.Y, point2.Y), _
Math.Abs(point1.X - point2.X), _
Math.Abs(point1.Y - point2.Y))
graphicsvariantname.DrawEllipse(System.Drawing.Pens.Black, rect)
point1 به نقطه اولیه ماوس اشاره میکند که با در رویداد MouseDown از e.Location تحصیل شده و ذخیره گردد.
point2 به نقطه انتهایی ماوس اشاره میکند که با در رویداد MouseUp از e.Location تحصیل و استفاده شود.
graphicsvariantname هم که از نوع System.Drawing.Graphics است و به پرده رسم جاری اشاره میکند...
که میتواند از رویداد Paint به دست آید و یا از متد نه چندان جالب CreateGraphic و یا از متد FromImage با دادن یک bmp و...
دوست عزیز میشه لطف کنین و آدرس جدید این کنترل رو بزارین؟ این یکی پاک شده.نقل قول:
سلام
امکان نداره! خودم آپلود کردم و خودم هم باید پاکش کنم و من پاک نکردم! :31:نقل قول:
دوست عزیز میشه لطف کنین و آدرس جدید این کنترل رو بزارین؟ این یکی پاک شده
لطفاً مجدد تست کنید، اگر روی تصویر فایل zip (مشابه تصویر زیر) کلیک کنید باید دانلود شود.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]