Kodfel
namespace Grafisk3
{
public partial class Form1 : Form
{
int xkoordinat = 100;
string val = "";
public Form1()
{
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
Color lila = Color.FromArgb(255, 0, 255);
SolidBrush lilapensel= new SolidBrush(lila);
if (val == "vänster")
{
xkoordinat = xkoordinat - 5;
g.FillEllipse(lilapensel, xkoordinat, 200, 50, 50);
}
else if (val == "höger")
{
xkoordinat = xkoordinat + 5;
g.FillEllipse(lilapensel, xkoordinat, 200, 50, 50);
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void btnVänster_Click(object sender, EventArgs e)
{
val = "vänster";
Invalidate();
}
private void btnHöger_Click(object sender, EventArgs e)
{
val = "höger";
Invalidate();
}
}
}
När jag klickar på höger då flyttas cirkeln till höger men om jag sen klickar på vänster då flyttas den till höger och när jag klickar på vänster igen då flyttas den till vänster som vanligt.
Varför?
Kan du visa hela koden (alla 'using' mm)?
jag är lite allergisk mot att använda ÅÄÖ i metodnamn :)
du kunde också haft en knapptryckhanterare och sen bara kolla vad object är.
Anders, han har ju det:
private void btnVänster_Click(object sender, EventArgs e)
Peter_ skrev:Anders, han har ju det:
private void btnVänster_Click(object sender, EventArgs e)
Man kan ha samma handler för bägge knapparna :
btn_Click(object sender, EventArgs e)
och sen kolla om sender är vänster eller höger.
void btn_Click(object sender, EventArgs e)
{
var clicked = sender as Button;
if (clicked == null)
{
return;
}
if (clicked.Text = "Vänster")
{
}
else if (clicked.Text == "Höger")
{
}
}
Jag förstår inte. Är inte det hela koden?
Vet inte vilken miljö du programmerar i. Kan du berätta?
Jag läser programmering 1 på gymnasiet. Så jag är inte så insatt i det här. vi får göra enkla uppgifter i boken.
Ok. Var skriver du in din kod någonstans?
Visual Studio
Det är rad 1. Men det kanske finnas på nån mapp på Solution Explorer?
Det finns fundamentala fel i koden så jag föreslår att du talar med din lärare.
Till exempel för att registrera en sk. Event Handler behövs denna kod:
btnLeft.Click += new EventHandler(btnLeft_Click);
Men den koden finns inte i den kod du publicerat.