Tôi có ứng dụng biểu mẫu có số động (dựa trên giá trị cơ sở dữ liệu) là PictureBoxes
. Mỗi P-Box có một điều khiển Tooltip
.Làm thế nào tôi có thể thay đổi văn bản của một điều khiển ToolTip hiện có, trong một PictureBox trong ứng dụng WinForm của tôi?
Tôi làm cách nào để thay đổi Văn bản Mẹo công cụ mà không bị rò rỉ bộ nhớ? Ngay bây giờ, tôi đã có mã sau đây, nhưng nó bị rò rỉ bộ nhớ => các điều khiển ToolTip trước đó không nhận được GC'd.
BTW, đây là một chủ đề nền mà đang cố gắng cập nhật các thread UI chính ....
if (pictureBox == null || !pictureBox.IsHandleCreated) {
continue;
}
Action setTooltipAndImage =() => {
var toolTip = new ToolTip();
GameServer tempGameFile = gameServer;
toolTip.SetToolTip(pictureBox, string.Format(...));
pictureBox.Image = Resources.RedButton;
};
if (pictureBox.InvokeRequired) {
pictureBox.Invoke(setTooltipAndImage);
} else {
setTooltipAndImage();
}
Như tôi đã nói - làm việc này nhưng nó bị rò rỉ.
Bất kỳ ai có bất kỳ đề xuất nào?
hmm .. tại sao lưu ý lại? có vẻ như một câu hỏi trung thực? –
+1 đến et bạn trở lại không, có vẻ như một câu hỏi hoàn toàn chấp nhận được. BTW: những công cụ bạn đang sử dụng để xem rò rỉ bộ nhớ ToolTip? –
Tôi đang sử dụng ANTS Memory Profiler. Dưới đây là một câu hỏi tương tự mà tôi đã hỏi với ảnh chụp màn hình: http://stackoverflow.com/questions/7225959/how-can-i-debug-this-stackoverflowexception-in-my-winform-application –