PDA

View Full Version : اتفاق افتادن یک رخداد در یک رخداد دیگر (؟)



hosseinam1370
یک شنبه 22 شهریور 1394, 14:44 عصر
دوستان الان من میخام که رخداد Form1_Paint در داخل رخداد Form1_MouseDown اتفاق بیوفتد ، باید چیکار کنم ؟!!
private void Form1_Paint(object sender, PaintEventArgs e)
{
Pen pen1 = new Pen(Color.Red, 2);
pen1.DashStyle = DashStyle.DashDot;
Graphics g = e.Graphics;
g.DrawLine(pen1, x, y, 20, 250);
}

private int x, y;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
label1.Text = e.X.ToString();
label2.Text = e.Y.ToString();
}


با تشکر.

hamid_hr
یک شنبه 22 شهریور 1394, 18:25 عصر
هر جا بنویسی form1.refresh رویداد paint اجرا میشه

hosseinam1370
دوشنبه 23 شهریور 1394, 08:34 صبح
منظورم اینه که اگه بخام رخداد form1_paint وقتی که دکمه ای (button) فشار داده شد ، عمل کند ، باید چیکار کنم؟


با تشکر.

ژیار رحیمی
دوشنبه 23 شهریور 1394, 08:53 صبح
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}


bool draw;
Graphics g;
Pen p;
int prevX;
int prevY;


private void Form1_Load(object sender, EventArgs e)
{
draw = false;
g = CreateGraphics();
p = new Pen(Color.Black, 2);
}


private void Form1_MouseDown(object sender, MouseEventArgs e)
{
draw = true;
prevX = e.X;
prevY = e.Y;
}


private void Form1_MouseUp(object sender, MouseEventArgs e)
{
draw = false;
}


private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (draw)
{
g.DrawLine(p, prevX, prevY, e.X, e.Y);
prevX = e.X;
prevY = e.Y;
}
}


private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
g.Dispose();
p.Dispose();
}
}