C# UserControl
var. İçinde OnPaint
yöntemini geçersiz kıldım. Sonra bunun içine bir daire çiziyorum.C# nasıl tetiklenir Sadece belirli bir konumda tıklayın
Bitmap GraphicsImage = new Bitmap(24, 24, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
Graphics.FromImage(GraphicsImage).Clear(btnColor);
Graphics graphics = e.Graphics;
SolidBrush myBrush = new SolidBrush(btnColor);
Pen myPen = new Pen(btnColor);
// Draw the button in the form of a circle
graphics.DrawEllipse(myPen, 0, 0, 40, 40);
graphics.FillEllipse(myBrush, new Rectangle(0, 0, 40, 40));
İşte Image
İstediğim fare daire içinde sadece usercontrol büyük olduğu için, klik olayı tetiklemek için olmasıdır. Fare pozisyon
private void yourcontrol_Click(object sender, EventArgs e)
{
Point pt = yourcontrol.PointToClient(System.Windows.Forms.Control.MousePosition);
//check if point is in the circle with
if (Math.Sqrt(Math.Pow(pt.X - xCenterOfCircle, 2) + Math.Pow(pt.Y - yCenterOfCOircle, 2)) < radius)
{
//do something
}
}
xCenterOfCircle
çevrenizde ve yCenterOfCircle
merkezinin x konumu olmak zorunda dairenin içinde ise
Sadece bilgi amaçlı, 'Pen' ve' SolidBrush' hem tek kullanımlık ve (sadece using' tablolarda 'koyun) ile yapıldığında imha edilmelidir. –