簡體   English   中英

如何在 Windows 窗體 C# 上的文本框中顯示文本

[英]How to display text in a TextBox on a Windows Form C#

網上有很多關於這個問題的答案,但沒有一個回答我的問題。 我有一個 Windows 窗體,其中包含用戶的詳細信息列表,有些數據可以編輯,有些則不能。 我想“getUserName()”(返回用戶名)並將其顯示在文本框中

    // Display Student Details Form
    public void displayStudent()
    {
        StudentDetails sd = new StudentDetails();
        sd.ShowDialog();
    }

以上創建了包含多個標簽和文本框的新表單,創建(並顯示)時,該表單上的文本框應填充以包含學生信息(如用戶名、姓名、地址等)

    private void displayUserName_TextChanged(object sender, EventArgs e)
    {
        displayUserName.Text = displayUserName.Text = s.getUserName();
    }

s 是學生對象

上面的代碼,我希望從學生對象中獲取用戶名並將其顯示在文本框中以供其他用戶查看和可能編輯。

試試displayUserName.Text = s.getUserName();

將其放在 Form Load 事件中,在 Button press 或 comboBox Selection 事件中......做出一些假設(因為你沒有提供很多細節),例如在你的 StudentDetails 表單代碼后面:

public partial class StudentDetails : Form
{
    private int _studentId;

    private DbContext _context;

    public StudentDetails(int studentId)
    {
        _context = new DbContext();
        _studentId = studentId;
        InitializeComponent();
    }

    protected override void OnLoad(EventArgs e)
    {
        Student s = _context.Students.Find(_studentId);

        displayUserName.Text = s.getUserName();
        // Using a function here is overkill, perhaps.
        // This should also work here:
        // displayUserName.Text = s.FullName;


        base.OnLoad(e);
    }
} 

現在以您的主要形式:

StudentDetails form = new StudentDetails(studentId);
form.ShowDialog() ;

順便說一句,如果您至少不嘗試然后展示您嘗試過的內容,那么大多數人都不會費心回答您的問題。

試試這個代碼,注意我在創建對象后指定了displayUserName框的文本,而x只是確保實例具有要使用的數據集而不是空白的任何東西繼續bug。

// Display Student Details Form
public void displayStudent()
{
    StudentDetails sd = new StudentDetails();
    sd.getData(x);
    displayUserName.Text = sd.getUserName();
    sd.ShowDialog();
}

根據我的經驗,在用戶更改文本框的值之后,您將使用TextChanged調用,並且作為處理表單的一部分而不是初始化它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM