C# – Tıklanan İki Noktanın Mesafesinin Hesaplanması

Arka arkaya tıklanan form üzerindeki 2 noktayı ekrana çizen ve arasındaki mesafeyi messagebox ile gösteren uygulama.

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{

public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();

}
Random q = new Random();

int birposy;
int birposx;
int ikiposy;
int ikiposx;
int count = 0;

int kirmizi = 125;
int yesil = 125;
int sari = 125;

private void Form1_MouseClick(object sender, MouseEventArgs e)
{
// 
if (count<1)
{
birposx = Cursor.Position.X;
birposy = Cursor.Position.Y;
count = count + 1;
Graphics cizgi;
Pen Kalem = new Pen(Color.FromArgb(yesil,kirmizi,sari), 5);
cizgi = this.CreateGraphics();
if (checkBox1.Checked ==true)
{
cizgi.Clear(Form.DefaultBackColor);
}
cizgi.DrawLine(Kalem, Cursor.Position .X, Cursor.Position .Y, Cursor.Position.X+2, Cursor.Position.Y+2);
cizgi.Dispose();
}
else if(count ==1)
{
ikiposx = Cursor.Position.X;
ikiposy = Cursor.Position.Y;
Graphics cizgi;
Pen Kalem = new Pen(Color.FromArgb(yesil, kirmizi, sari), 5);
cizgi = this.CreateGraphics();
cizgi.DrawLine(Kalem, Cursor.Position.X+2, Cursor.Position.Y+2, Cursor.Position.X, Cursor.Position.Y);

int islem = (birposx - ikiposx)*(birposx -ikiposx);
int islem2 = (birposy - ikiposy) * (birposy - ikiposy);
count = 0;

MessageBox.Show(Math.Sqrt(islem+islem2)+" "+"kadar fark var");
birposx = 0;
birposy = 0;
ikiposx = 0;
ikiposy = 0;
kirmizi = q.Next(1, 256);
yesil = q.Next(1, 256);
sari = q.Next(1, 256);

}
}
private void Form1_Load(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Maximized;
this.Text = "Mesafe farkı bulucusu";
}
}
}

Derlenmiş Dosyayı İndirmek İçin Tıklayınız.

Bir yanıt yazın