2012-01-24 23 views
6

GUI programı oluşturmanın bir yolu olup olmadığını öğrenmek isterim, ana() işleviyle (konsol uygulamasında olduğu gibi), böylece main() içindeki tüm nesneleri oluşturuyorum ve ona erişebilir/değiştirebilirim düğmeler/metin kutuları vb. ile bağlantılı diğer işlevler. Mümkün mü? Lütfen, GUI'lerle çok yeni başladığımı anlıyorum, konuştuğum şeyler komik olabilir ama yine de öğrenmek istiyorum! Teşekkürler :)Formlar uygulamasında Ana yöntem nerede?

+6

** Her ** C# programı bir GUI kullanıyor olsa bile 'Ana()' yöntemiyle başlar. Sadece bunu sana söylemiyorlar. (Yine de değil.) – BoltClock

+0

Peki, ama "Ana (") denilen fonksiyona sahip olmak gibi değil, konsol uygulamaları ile "ana" gibi çalışmak için bir yer bulmak istiyorum, bu mümkün mü? : p – Patryk

+0

Ana sayfaya erişiminiz * var *. cevabımı aşağıya bak. – OnResolve

cevap

16

Windows form projesi oluşturduğunuzda (A Gui one), ana döngüye sahip - Aslında bir tane gerektirir. Varsayılan olarak, program.cs ve o formunuzu başladı:

static class Program 
{ 
    /// <summary> 
    /// The main entry point for the application. 
    /// </summary> 
    [STAThread] 
    static void Main() 
    { 
     Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 
     Application.Run(new Form1()); 
    } 
} 

Ne muhtemelen olsa istediğiniz Formu yapıcı olduğunu. Bu (varsayılan Form1.cs tarafından) Formun arkasında kod ve bu gibi görünecektir:

bir WinForm uygulaması main yapmak istediğim ne olursa olsun ana

static void Main() 
{ 
    Application.Run(new Form1()); 
} 

başlar

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent();  
    }   
} 
+0

ve ana dize nasıl oluşturulur, böylece metin kutusuyla okuyabilir miyim? : P – Patryk

+0

Bu mantık * Form1() [form için kurucu] 'da * gidebilir. Ben kurucu dışında bir işleve ait olduğu için gevşek bir şekilde kullanıyorum ama gösterim için, formda bir metin kutusu varsa ve id 'txtMyTextBox' olan myString = txtMyTextBox.Text dize yapabilirsiniz. Eğer oraya ulaşmakta zorlanıyorsanız, daha başlangıç ​​aşamasından yedeklemeniz ve başlamalısınız. – OnResolve

+0

iyi, bir textBox1 var, bir String var myString = textBox1.Text; (ana) ve hala, ana bende şunu var: '' TextBox1 'adı mevcut bağlamda mevcut değil' – Patryk

2

sen