簡體   English   中英

如何解決picturebox1是null?

[英]How to solve picturebox1 is null?

我正在開發一個演示,目前,它只是根據用戶的輸入更改 PictureBox 的寬度和高度。

為此,用戶在一個 Windows Forms 中輸入數據,而 PictureBox 在另一個 PictureBox 中。

它們通過構造函數交換數據,如下代碼所示:

if (pf.GetData().Item1 >= int.Parse(textBox1.Text) && pf.GetData().Item2 >= int.Parse(textBox2.Text))
{
    PictureForm pbf = new PictureForm(int.Parse(textBox1.Text), int.Parse(textBox2.Text));
    pf.Show();
    this.Hide();
}

在第一個表格中

public PictureForm(int newMaxX, int newMaxY)
{
    pictureBox1.Width = newMaxX;
    pictureBox1.Height = newMaxY;
}

和構造函數。

當我首次亮相並輸入所有內容時,此錯誤消息顯示:

System.NullReferenceException:“對象引用未設置為 object 的實例。”

pictureBox1 是 null。

我真的不明白怎么了。 有人可以幫我嗎?

在表單構造函數中,您必須調用InitializeComponent 這將創建並配置控件。

public PictureForm(int newMaxX, int newMaxY)
{
    InitializeComponent();
    pictureBox1.Width = newMaxX;
    pictureBox1.Height = newMaxY;
}

表單是用分部類實現的。 即,表單 class 被分成兩個代碼文件: PictureForm.cs (這是您的用戶代碼所在的位置)和PictureForm.designer.cs 后者由 forms 設計者創建並包含InitializeComponent方法。 您可以打開此文件並查看此方法的作用。 所有具有所有屬性的控件都在這里創建。 這是保存表單時保存的內容。 即,存儲表單的地方沒有神秘的文件格式,因為所有內容都存儲為 C# 代碼(資源除外,例如存儲在PictureForm.resx中的圖標)。

暫無
暫無

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

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