c #: оконные формы: получить значения дочерних элементов управления из неактивированной вкладки - PullRequest
0 голосов
/ 10 сентября 2009

У меня есть winform с вкладкой. На вкладке по умолчанию у меня есть кнопка «Перейти», связанная с функцией, которая извлекает значения из текстовых полей на второй вкладке (значения по умолчанию).

Значения выглядят как "", если я сначала не смотрю на 2-ю вкладку, которая, как я предполагаю, приводит к тому, что текстовые поля объединяются со значениями по умолчанию.

Как сделать так, чтобы форма заполняла все элементы управления при загрузке?

Ответы [ 2 ]

1 голос
/ 10 сентября 2009

Привязка данных не работает на невидимом контроле. Я нашел это здесь . Для справки смотрите этот поток MSDN

0 голосов
/ 10 сентября 2009

Это работает как шарм:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; 

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        ComboBox c = new ComboBox();
        Button b = new Button();

        public Form1()
        {
            InitializeComponent();            

            b.Text = "New Button";
            b.Click += new EventHandler(b_Click);
            this.tabPage1.Controls.Add(b);

            c.Items.Add("Hello World");
            c.Items.Add("My Program");
            c.SelectedIndex = 0;
            this.tabPage2.Controls.Add(c);            
        }

        void b_Click(object sender, EventArgs e)
        {
            MessageBox.Show(c.Text.ToString());
        }
    }
}

Если не указано во время загрузки, индекс списка со списком по умолчанию равен -1, что означает "" (пусто), поэтому, если вы знаете точный индекс, при котором значения по умолчанию отображаются в поле со списком, тогда установите индекс индекса для этого индекса.

Используя код ниже, первый элемент в выпадающем списке будет выбран во время выполнения.

comboBox1.SelectedIndex = 0 (The first item in the combo box)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...