2009-12-29 21 views
10

Mam pole About w moim projekcie C#, używając programu Visual C# 2008 Express Edition firmy Microsoft o nazwie AboutBox1. Sprawiłem, że wyglądało to tak, jak chcę w widoku projektu, ale jak mogę go wyświetlić po kliknięciu linku Informacje w menu Pomoc?Jak wyświetlić okno O programie w C#?

Kod ten powoduje wyświetlenie pola O programie, ale wygląda ono pusto. To nie ten, który zaprojektowałem.

private void aboutToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
    AboutBox1 box = new AboutBox1(); 
    box.ShowDialog(); 
    } 

Wszelkie przemyślenia lub sugestie będą mile widziane. Dzięki.

+0

Być może moja próbka kodu wprowadza w błąd. Początkowo myślałem, że mogę zrobić coś jak AboutBox1.ShowDialog(); ale ShowDialog() nie wydaje się być członkiem AboutBox1. –

Odpowiedz

13

Rozumiem.

Okienko "about" jest wyłączane z właściwości zespołu dla twojego projektu.

Przejdź do opcji Project -> 'ProjectName' -> Informacje o montażu.

Ustawia się tam wszystkie informacje.

Jeśli spróbujesz ustawić informacje w Eksploratorze obiektów, zostanie ono po prostu nadpisane w czasie wykonywania przez to, co jest w tym oknie.

Cheers, Mike

+0

Dzięki za wzniesione głowy, Mike! –

9

To brzmi dla mnie jak zakorkowana powierzchnia projektanta ... czy udało Ci się zapisać i przebudować? Być może zamknąć IDE, ponownie otworzyć i sprawdzić, czy starannie zaprojektowany formularz jest nadal ładny?

BTW, przy użyciu ShowDialog należy również używać using (ponieważ sam nie Dispose() kiedy pokazany ShowDialog):

using(AboutBox1 box = new AboutBox1()) { 
    box.ShowDialog(this); 
} 
3

Czy usunąć metodą-wezwanie do „InitializeComponent” w konstruktorze Twój Okienko - formularz?

Twój konstruktor powinien przynajmniej wyglądać następująco:

public partial class AboutBox : Form 
    { 
     public AboutBox() 
     { 
      InitializeComponent(); 
     } 
    } 

Jeżeli wywołanie metody InitializeComponent powinny być w pierwszej linii w konstruktorze.

+0

jeśli usuniesz InitializeComponent() z konstruktora otrzymasz wyjątek czasu wykonywania. –

+0

Nie, nie otrzymasz wyjątku środowiska wykonawczego. Próbowałeś tego ? Utwórz nowy projekt WinForm, dodaj przycisk w formularzu i usuń wiersz InitializeComponent z konstruktora ... –

0

Jeśli pojawia się, ale jest puste, problem dotyczy AboutBox1. Pokaż nam trochę tego kodu.

0

wychodził sam problem wcześniej, ale rozwiązać go poprzez usunięcie oświadczenia pod kodem InitializeComponent();

Domyślnie:

partial class AboutBox1 : Form 
{ 
    public AboutBox1() 
    { 
     InitializeComponent(); 
     this.Text = String.Format("About {0} {0}", AssemblyTitle); 
     this.labelProductName.Text = AssemblyProduct; 
     this.labelVersion.Text = String.Format("Version {0} {0}", AssemblyVersion); 
     this.labelCopyright.Text = AssemblyCopyright; 
     this.labelCompanyName.Text = AssemblyCompany; 
     this.textBoxDescription.Text = AssemblyDescription; 
    } 
} 

Moja ostatnia Kod:

partial class AboutBox1 : Form 
{ 
    public AboutBox1() 
    { 
     InitializeComponent(); 
    } 
} 
+1

Zachowałbym przynajmniej linię wersji. Od tego czasu musisz aktualizować wersję w dwóch miejscach za każdym razem, gdy się zmienia. I musisz zapomnieć o jednym. – CodesInChaos

0

Nie można znaleźć właściwości projektu/nazwy projektu/zespołu.

Ale komentarz dla linii po "InitializeComponent();" pracował dla mnie.

ten sposób kopalnia wygląda:

public frmAboutBox1() 
    { 
     InitializeComponent(); 
     //this.Text = String.Format("About {0}", AssemblyTitle); 
     //this.labelMyFFEProductName.Text = AssemblyProduct; 
     //this.labelVersion.Text = String.Format("Version {0}", AssemblyVersion); 
     //this.labelCopyright.Text = AssemblyCopyright; 
     //this.labelCompanyName.Text = AssemblyCompany; 
     //this.textBoxDescription.Text = AssemblyDescription; 
    } 

Jeśli jesteś amature jak ja, aby znaleźć te linie, kliknij AboutBox w exploer projektu, a następnie nacisnąć przycisk „Wyświetl kod” „<>” .

+0

Czy to jest odpowiedź, mam nadzieję, że należy ją skomentować, a nie opublikować jako odpowiedź. – Dipak

Powiązane problemy