2013-06-19 3 views
2

Я хотел бы поместить строковое значение в текстовое поле frmCredentials.txtUsername при первой загрузке формы.Инициализировать значение текстового поля при загрузке формы

Вот код, в котором форма первый называется:

Application.EnableVisualStyles(); 
Application.SetCompatibleTextRenderingDefault(false); 
Application.Run(new frmCredentials()); 
+0

в чем проблема то? – Mogli

+0

Откуда взялась строка? Что-то передать в конструктор при создании экземпляра формы? Чтение его из файла или базы данных? Это просто постоянная? –

ответ

3

Почему бы не поставить код в Form.Load event

Происходит перед формой отображается в первый раз.

Это событие можно использовать для выполнения таких задач, как выделение ресурсов, используемых формой.

1

Вы можете установить его в конструктор frmCredentials:

public class frmCredentials : Form 
{ 
    public frmCredentials() 
    { 
     InitializeComponent(); 

     txtUsername.Text = "whatever"; 
    } 
} 
+0

, который устанавливает значение текстового поля при создании класса –

+0

Да. Событие 'frmCredentials_Load' также будет работать, как утверждают другие. –

2

Шаг 1) Дважды щелкните на форме: Это будет создавать и отображать события загрузки формы.

Шаг 2) Введите в {} Далее txtUsername.Text="MyTextGoesHere";

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

3

Вы можете создать перегруженный конструктор, который принимает один параметр, а другой будет вашим конструктором по умолчанию.

public class frmCredentials : Form 
{ 
    public frmCredentials() 
    { 
     InitializeComponent(); 
    } 

    public frmCredentials(string myValue) 
    { 
     InitializeComponent(); 
     txtUsername.Text = myValue; 
    } 
} 

из кода:

Application.EnableVisualStyles(); 
Application.SetCompatibleTextRenderingDefault(false); 
Application.Run(new frmCredentials("Hello World")); 
2

Да событие Форма нагрузки лучше для загрузки значений по умолчанию при загрузке формы

 private void Form1_Load(object sender, EventArgs e) 
     { 
      txtUsername.Text = "My Username"; 
     } 
1

Мохит, вероятно, имеет лучший ответ, но если вы только хотите иметь возможность создать форму с текстовым полем, вам не нужно сохранять конструктор «по умолчанию», как он это сделал:

public class frmCredentials : Form 
{ 
    public frmCredentials(string myValue) 
    { 
     InitializeComponent(); 
     txtUsername.Text = myValue; 
    } 
} 

Теперь, когда вы звоните новый frmCredentials, вы будете иметь передать ему строку, например, так

var myForm = new frmCredentials("A string is required."); 
Смежные вопросы