Vâng, tôi đang viết một tệp các tiện ích mở rộng/phương pháp hữu ích cho các chuỗi, nhãn, liên kết, lớp học, v.v.cách sử dụng phương thức Gọi trong tệp mở rộng/phương pháp?
nhưng, tôi gặp sự cố. Tôi có phương thức showMessage()
thay đổi Văn bản của nhãn, hoạt động tốt. Nhưng tôi quyết định làm điều đó làm việc với thực hiện chủ đề, sau đó tôi làm điều này:
namespace LabelExtensions
{
public static class LabelExtensionsClass
{
private delegate void UpdateState();
public static void ShowMessage(this Label label, string text)
{
if (label.InvokeRequired)
{
label.Invoke((UpdateState)delegate
{
label.Text = text;
});
}
else
{
label.Text = text;
}
}
}
}
xin lỗi, đó là một lỗi đánh máy. Tôi đã gõ mã này trên diễn đàn. lỗi tiếp tục.
theo các documentation, sử dụng các phương pháp cần Invoke để nhập khẩu:
Namespace: System.Windows.Forms
hội: System.Windows.Forms (trong System.Windows.Forms .dll)
sau đó tôi đã làm:
using System.Windows.Forms;
nhưng điều này trả về cùng một lỗi:
The name 'Invoke' does not exist in the current context
cách khắc phục sự cố này?
Xin cảm ơn trước.
Bạn có thể sử dụng đại diện 'Hành động 'hiện có; bạn không cần phải tạo của riêng bạn. – SLaks
Có thể, '(label.TopLevelControl as Form) .Invoke' – Joe
@SLaks: Cảm ơn :) –