我在我創建的類上有一個矩形。函數「DrawRectangle」不繪製任何東西。我把下面的代碼:DrawRectangle不起作用
我自己的類(Unidad.cs):
class Unidad
{
//Constructor
public Unidad(string tipo, int movimiento)
{
tipoUnidad = tipo;
movimientoUnidad = movimiento;
}
//Propiedades
public string tipoUnidad {get; set;}
public int movimientoUnidad { get; set; }
//Método para dibujar unidad
public void colocar(MouseEventArgs e)
{
Form1 myf = new Form1();
using (Graphics g = myf.picboxFondo.CreateGraphics())
{
Pen pen = new Pen(Color.Red, 2);
g.DrawRectangle(pen, e.X, e.Y, 20, 20);
pen.Dispose();
g.Dispose();
}
}
}
主要類:
public partial class Form1 : Form
{
//Prueba de clase
Unidad prueba;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
picboxFondo.Size = ClientRectangle.Size;
prueba = new Unidad("I", 20);
}
private void picboxFondo_MouseDown(object sender, MouseEventArgs e)
{
prueba.colocar(e);
}
}
我picboxFondo修飾符public。所有編譯正確,工作完美,但是當我去g.DrawRectangle我看到所有的值都OK,但它沒有畫任何東西。
你能幫我嗎?
謝謝!
你在做什麼?現在,您正在創建一個新的窗體實例,並在每個MouseDown的新實例上創建一個圖形上下文。您每次都將矩形繪製爲新形式,並且從我所看到的甚至沒有顯示新形式。 –
哦,不,我不想那麼做!我想從我的「Unidad」類創建一個Rectangle。你能幫我解決嗎? – Imrik