Problemet er at Application.Run starter et message loop, som kører indtil formen lukker. (Og så er det jo for sent) Derfor må du have en eventhandler der bliver trigget som lukker formen, eller en anden tråd der styrer din form, hvorfra du kalder form.Close.
Herunder er et lille program der viser hvordan en timer kan styre hvornår formen lukkes.
using System; using System.Windows.Forms;
namespace Test { public class Form1 : System.Windows.Forms.Form { private System.ComponentModel.Container components = null;
private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.Size = new System.Drawing.Size(300,300); this.Text = "Form1"; } }
class Class1 { static Form1 form;
static void Main(string[] args) {
Timer timer = new Timer(); timer.Tick+=new EventHandler(timer_Tick); timer.Interval=5000; timer.Enabled=true; form = new Form1(); Application.Run(form);
hmm ok hvad så hvis jeg bruger form.showDialog() istedet....men det kan jeg heller ikke får til at virke med close...men det er måske det samme som med Application??
hmm ok men det jeg skal kunne er at lukke formen uden at komme i kontakt med den...
jeg har en tråd der køre konstant og kontrollere om variabel er true eller false..
hvis den er true skal den åbne en form og dræbe den anden form (pga af lidt ram skal den dræbes) hvis den er false skal den åbne en anden form og dræbe den første form...
dette skal gøres uden bruge kontakt
det er derfor jeg er ude efter en måde hvorpå man kan lukke sin form
har prøvet at benytte tråde til begge forms hvorpå jeg kunne slå trådene ihjel og det virkede også fint indtil jeg skulle benytte microsofts browser component i den ene form...også frøs den når jeg benyttede mig af tråd...
så derfor kan jeg åbenbart ikke gøre det på den måde mere
godt har også et andet spørgsmål herinde under C# http://www.eksperten.dk/spm/547884 der omhandlede mit webbrowser problem...der kan du så også lige få 100 point da du også løste det :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.