Tôi nhận được thông báo lỗi Không thể truy cập đối tượng được xử lý. Tên đối tượng: 'ApplicationProperties'. khi tôi tryo mở lại biểu mẫu sau khi đóng. Tôi đã nhận thấy điều này là từ các biểu mẫu thoát, và thoát là "Đang hủy" trong số đó, vì vậy tôi đã đặt mã sau vào tất cả các nút chấp nhận của tôi và nút hủy (bất kỳ nút nào đóng biểu mẫu).Không thể truy cập lỗi đối tượng được xử lý
this.Hide();
this.Parent = null;
Mã này chỉ đang ẩn biểu mẫu. Không đóng biểu mẫu.
Vì vậy, vấn đề của tôi là, khi tôi nhấp vào nút 'x' trên biểu mẫu, sau đó thử mở lại biểu mẫu, tôi vẫn nhận được thông báo lỗi. Tôi đã thử một vài cách khác nhau để sửa đổi funciton thoát của biểu mẫu như:
private void ApplicationProperties_FormClosing(object sender, FormClosingEventArgs e)
{
//Hiding the window, because closing it makes the window unaccessible.
this.Hide();
this.Parent = null;
}
Nhưng điều này đã mang lại cho tôi không may mắn. Tôi đã tự hỏi nếu có ai biết làm thế nào để giải quyết vấn đề này. Đây là mã đang làm việc cho tôi bên trong nút hủy và chấp nhận của tôi. Nó giống nhau cho tất cả các nút của tôi đóng các biểu mẫu.
private void OptionsCancelbtn_Click(object sender, EventArgs e)
{
//Hiding the window, because closing it makes the window unaccessible.
this.Hide();
this.Parent = null;
}
Tôi đã khai báo cá thể ở đầu lớp của tôi trên biểu mẫu1 và có nút bên trong form1 mở biểu mẫu2.
public partial class MainBox : Form
{
//Making a name for the ApplicationProperties form. It can be opened when called.
ApplicationProperties ApplicationPropertiesWindow = new ApplicationProperties();
private void ApplicationPropertiesbtn_Click(object sender, EventArgs e)
{
//Show the properties window.
ApplicationPropertiesWindow.Show();
}//End ApplicationProperties button.
}
Sau khi tôi đóng chương trình với các nút 'x' về hình thức thứ hai tôi không thể truy cập form2 một lần nữa vì thông báo lỗi bắn vào ApplicationPropertiesWindow.Show();
Bên trong form2 Tôi có đoạn mã sau:
public partial class ApplicationProperties : Form
{
//Creates and sets the instance MainBoxWindow.
public MainBox MainBoxWindow { get; set; }
Bạn có thể hiển thị mã không theo cách bạn mô tả ở đầu * của câu hỏi không? Đó là một trong những thực sự cần sửa chữa, chứ không phải là nỗ lực của bạn để hack xung quanh nó. –
@CodyGray Tôi đã cập nhật câu hỏi cho biết nơi xảy ra lỗi. –
Hành vi mong muốn là gì? Bạn đang cố gắng truy cập vào bất kỳ đối tượng ApplicationProperties nào mà bạn đã xử lý, hoặc bạn vô tình vứt bỏ nó trong mã của bạn ở đâu đó. Hoặc khởi tạo một đối tượng ApplicationProperties mới, hoặc tìm nơi bạn đang xử lý nó và loại bỏ mã nếu bạn muốn đối tượng đó vẫn còn trong bộ nhớ. Kiểm tra định nghĩa của lớp học, hoặc thực hiện tìm kiếm trên Dispose –