在打开的表单上自动显示字符串

Automatically show string on form open

我有两个表单,主要在主要加载之前打开第二个表单。

在这个辅助表单上,我有一个文本框来显示 Windows 的登录用户名。

我希望此用户名在表单打开时显示在文本框中,但目前它仅在单击文本框并按下空格键时显示。

我试过更改 onclick 的东西,但我得到的壁橱是在光标经过它时加载它。

我怎样才能让文本框显示加载的用户名,或者标签会更好吗?

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

namespace Chat
{
    public partial class loginForm : Form
    {
        public loginForm()
        {
            InitializeComponent();
        }

        private void loginForm_Load(object sender, EventArgs e)
        {
            string userName = Environment.UserName;
            usernametextBox.Text = (userName);
        }

        private void userloginbutton_Click(object sender, EventArgs e)
        {
            Application.Run(new chatForm());

            Application.Exit();
        }

        private void usernametextBox_TextChanged(object sender, EventArgs e)
        {

        }
    }
}

谢谢 丹尼尔

有很多地方可以初始化文本框的值。

一个常见的地方是窗体的构造函数。

类似

private void Form2_Load(object sender, EventArgs e)
{
    string userName = Environment.UserName;
    usernametextBox.Text = (userName);
}

那将是第二种形式的构造函数,即包含文本框的形式。

如果您希望第一个表单在创建后负责预填充第二个表单的用户名值,您还可以通过构造函数参数或 public 函数将值传递给第二个表单。

private void Form_Load(object sender, EventArgs e)
{
    string userName = Environment.UserName;
    usernametextBox.Text = userName;
}

如果你想在加载表单时加载用户名,那么你应该使用表单的 FormLoad 事件

如果你想在文本框的焦点上加载用户名,那么你应该使用 GotFocus 事件