kimzzz Skrevet 6. mars 2014 Del Skrevet 6. mars 2014 Noen som kan hjelpe meg å forklare meg hvorfor jeg ikke får "led" til å vises når den blir kallet ifra "Sim" klassen får den bare til å fungere hvis jeg legger den under Form1 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Sim s = new Sim(); s.light(); } public void led() { Graphics g = this.CreateGraphics(); g.DrawEllipse(new Pen(Brushes.Black), 100, 100, 12, 12); g.FillEllipse(Brushes.Red, 100, 100, 12, 12); } public class Sim { Form1 frm1 = new Form1(); public void light() { frm1.led(); } } Lenke til kommentar
steinar88 Skrevet 6. mars 2014 Del Skrevet 6. mars 2014 (endret) utstyr? /kjører Endret 6. mars 2014 av steinar88 Lenke til kommentar
The Jackal Skrevet 7. mars 2014 Del Skrevet 7. mars 2014 this.CreateGraphics() er en metode som kun eksisterer i Control klassen, dermed må klassen du kjører det kallet i minimum arve fra Control. Form klassen arver blant annet fra Control klassen, dermed fungerer led() kun i Form1 siden den arver fra Form. Lenke til kommentar
kimzzz Skrevet 7. mars 2014 Forfatter Del Skrevet 7. mars 2014 Takk for svaret "The Jackal" , kom meg litt videre, byttet ut: Graphics g = this.CreateGraphics(); med Graphics g = Form1.activeform.CreateGraphics(); og alt virket tilsynelatende, men programmet kræsjet så snart jeg kjører fungsjonen i en loop og åpner et annet program. Har lest på dette og googlet i et par dager nå, men får det bare ikke inn , får jo alltids programmene mine til å fungere, men da må alt ligge under samme klasse, men føler at endel av programmene mine begynner å bli så såpass store når det gjelder menge kode, at jeg burde lære meg litt om object oriented programming for å fordele koden litt, også med tanke på å gjennbruke den. Har bare gjennskapt problemet mitt i en så enkel som mulig kode, men dette er en del av et program som skriver til en ftdi basert usb kabel, så vil jeg ha RX og TX led som blinker etter som kommunikasjonen går. Lenke til kommentar
GeirGrusom Skrevet 3. april 2014 Del Skrevet 3. april 2014 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private bool ledState; private void button1_Click(object sender, EventArgs e) { Led(); } public void Led() { ledState = !ledState; Invalidate(); } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); e.Graphics.FillEllipse(ledState ? Brushes.Red : Brushes.Green, 100, 100, 12, 12); e.Graphics.DrawEllipse(new Pen(Brushes.Black), 100, 100, 12, 12); } } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå