C Sharp – die besten Beiträge

C# Focus bei UserControl?

Hallo,

ich hab ein Problem mit dem Focus eines UserControls. Und zwar bekommt das UserControl trotzdem den Focus obwohl alle seine ChildControls nicht focusierbar sind. Ich hab hier mal ein kleines Beispiel erstellt, zum testen einfach ein neues Windows Forms Project anlegen und den Code in den Source Code der Form kopieren.

using System.Windows.Forms;

namespace testUserControl
{
  using System.Diagnostics.Eventing.Reader;

  public partial class Form1 : Form
  {
    private testControl testControl1;
    private testControl testControl2;
    private testControl testControl3;
    
    public Form1()
    {
      InitializeComponent();

      this.testControl1 = new testUserControl.testControl();
      this.testControl2 = new testUserControl.testControl();
      this.testControl3 = new testUserControl.testControl();

      this.testControl1.Location = new System.Drawing.Point(24, 27);
      this.testControl1.Name = "testControl1";
      this.testControl1.Size = new System.Drawing.Size(150, 37);
      this.testControl1.TabIndex = 0;


      this.testControl2.Location = new System.Drawing.Point(24, 71);
      this.testControl2.Name = "testControl2";
      this.testControl2.Size = new System.Drawing.Size(150, 45);
      this.testControl2.TabIndex = 1;


      this.testControl3.Location = new System.Drawing.Point(24, 136);
      this.testControl3.Name = "testControl3";
      this.testControl3.Size = new System.Drawing.Size(150, 47);
      this.testControl3.TabIndex = 2;

      this.Controls.Add(this.testControl3);
      this.Controls.Add(this.testControl2);
      this.Controls.Add(this.testControl1);

      testControl2.Disable();
    }
  }

  public class testControl : UserControl
  {
    private TextBox test;

    private Label TestLabel;

    public testControl()
    {
      this.test = new TextBox();
      this.test.Name = "TextBox";
      this.test.Location = new System.Drawing.Point(100, 5);
      this.test.Size = new System.Drawing.Size(80, 17);

      this.TestLabel = new Label();
      this.TestLabel.Name = "Label";
      this.TestLabel.Text = "Test";
      this.TestLabel.Location = new System.Drawing.Point(10, 5);
      this.TestLabel.Size = new System.Drawing.Size(50, 17);

      this.Controls.Add(this.test);
      this.Controls.Add(this.TestLabel);
    }

    public void Disable()
    {
      this.test.Enabled = false;
    }
  }
}

Ich weiß das das Design jetzt nicht schön aussieht aber das ist auch egal. Um was es mir jetzt geht ist, das wenn ich mit tab durchgehe das 2. Control trotzdem den Focus bekommt obwohl es aus einem lable und einer deaktivierten TextBox besteht. Warum ist das so? Und wie kann ich das umgehen?

Danke für alle Antworten.

Computer, programmieren, C Sharp, Forms

C# - Text aus Textboxen dauerhaft in Variablen speichern?

Also, folgendes Problem: Ich schreibe gerade ein Programm mit c# und habe in dem ersten Formular frmSettings Textboxen, tbMitarbeiter, tbMitarbeiter2, tbMitarbeiter3, tbMitarbeiter4 und tbMitarbeiter5. Im Programmcode existieren nun fünf Variablen, die den Inhalt dieser Textboxen speichern sollen, wenn man auf einen Button klickt, welcher gleichzeit Formular 2, frmNewJob, off net. Der Grund dafür ist, dass der Inhalt der Textboxen, die Items einer Combobox cbWho darstellen sollen. Das klappt auch so wie es soll. Allerdings gibt es noch weitere Formen, bisher frmMain, die Startseite und frmOpen, auf der alle Jobs angezeigt werden sollen. Von dort aus ist es ebenfalls mit einem Button möglich frmNewJob zu öffnen . Ich kann ja auch ganz leicht, die Variablen, also die Textboxen aus der frmSettings zugänglich machen . ich möchte aber nicht, dass der Benutzer jedes Mal in den Settings die Textboxen füllen muss, da der Inhalt sich um Mitarbeiter handelt, die in der Regel nicht so häufig wechseln. Nun also meine Frage: Kann ich den Inhalt dieser Textboxen dauerhaft in Variablen speichern, um sie dann jedes Mal, durch den Knopf der frmNewJob öffnet, abzurufen und der Combobox cbWho hinzuzufügen? Oder gibt es eine viel einfachere Möglichkeit? Ich bin noch ziemlicher Noob und würde mich über jede Hilfe freuen :) Danke, BuBBles

Programm, speichern, C Sharp, Informatik, Variablen, Programmcode, Quellcode, Textbox

Meistgelesene Beiträge zum Thema C Sharp