[英]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.