Tôi đang cố gắng tìm ra cách để chuyển các giá trị giữa các biểu mẫu. Tôi có bốn biểu mẫu và tôi muốn chuyển thông tin được truy xuất bởi Login
đến biểu mẫu thứ tư và cuối cùng.Chuyển các giá trị giữa các mẫu Windows C#
Đây là những gì tôi có cho đến nay.
Trong chức năng này:
private void btnLogin_Click(object sender, EventArgs e)
Tôi đã deserialized dữ liệu tôi muốn như thế này:
NewDataSet resultingMessage = (NewDataSet)serializer.Deserialize(rdr);
Sau đó, khi tôi gọi là hình thức tiếp theo tôi đã làm điều này:
Form myFrm = new frmVoiceOver(resultingMessage);
myFrm.Show();
Sau đó, biểu mẫu VoiceOver
của tôi trông giống như sau:
public frmVoiceOver(NewDataSet loginData)
{
InitializeComponent();
}
private void btnVoiceOverNo_Click(object sender, EventArgs e)
{
this.Close();
Form myFrm = new frmClipInformation();
myFrm.Show();
}
Khi tôi gỡ lỗi, tôi có thể thấy dữ liệu ở dạng loginData
ở dạng thứ hai, nhưng dường như tôi không thể truy cập dữ liệu trong sự kiện btnVoiceOverNo_Click
. Làm thế nào để truy cập vào nó để tôi có thể chuyển nó sang biểu mẫu tiếp theo?
Bạn cần một thành viên của frmVoiceOver mà bạn chuyển thông tin đăng nhập vào. Một cái gì đó giống như _loginData = loginData, nơi _loginData tồn tại trong lớp biểu mẫu như NewDataSet _loginData. –
có thể trùng lặp của [giá trị truyền giữa các biểu mẫu (biểu mẫu thắng)] (http://stackoverflow.com/questions/3062575/passing-values-between-forms-winforms) –
Đăng nhập và biểu mẫu có thuộc cùng một ứng dụng (exe) không? Nếu vậy, không cần serialization/deserialization: tốt cũ đồng bằng tài sản sẽ làm. Nó cũng có vẻ là "kéo" logic (các hình thức yêu cầu đăng nhập cho các thông tin) là tốt hơn ở đây hơn là "đẩy" logic khi đăng nhập gửi dữ liệu vào các hình thức. –