'da Araç İpucu'nu temizleme nasıl otomatikleştirilir Bir bellek sızıntısı izliyorum ve onu bir UserControl türetilmiş sınıfında ayrılmış bir ToolTip için daraltdım. BöyleUserControl
araç ipucu denetimin yapıcısında ayrılan tahsis edilir ve Yük durumunda başlatıldı:
public class CommonProfile : System.Windows.Forms.UserControl
{
private ToolTip toolTip1;
...
public CommonProfile()
{
InitializeComponent();
// Create the ToolTip and associate with the Form container.
toolTip1 = new ToolTip(this.components);
}
private void CommonProfile_Load(object sender, System.EventArgs e)
{
// Set up the delays for the ToolTip.
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
// Force the ToolTip text to be displayed whether or not the form is active.
toolTip1.ShowAlways = true;
// Set up the ToolTip text
toolTip1.SetToolTip(this.btnDeleteEntry, "Delete this Profile");
toolTip1.SetToolTip(this.lblProfileType, "Edit this Profile");
toolTip1.SetToolTip(this.lblProfileData, "Edit this Profile");
toolTip1.SetToolTip(this.picFlagForUpdate, "Toggle Flag for Update");
}
}
denetimin üst denetimin ömrünü aşan bir yaşam süresi vardır. Bu kontrol anında oluşturulur ve panel kontrolüne eklenir ve daha sonra panel kontrolünden çıkarılır.
Araç İpucu'nun referansları kaldığı için, denetimin Dispose üyesine çağrı yapılmadığını anladım. Kapatma yöntemini çağırma
public void Shutdown()
{
toolTip1.RemoveAll();
}
sızıntısı ortadan kaldırır ve bertaraf sonunda denir:
Böyle bir Kapatma yöntemi eklendi.Ne yazık ki, bu çözüm, kontrolü kullanan kişiyi, tamamlandığında Kapatma yöntemini çağırmayı hatırlatır.
Bunu otomatik hale getirmenin bir yolu olup olmadığını bilmek istiyorum, böylece Kapatma yöntemini açıkça çağırmak gerekmeden gerçekleşir.
Araç çubuğunda, kullanıcı denetimini elden çıkarırken ya da kapama yönteminiz gibi sizin için bunu yapan bir temizleme işlevine sahip olabileceğinizi sanırım. Burada – PRR
1. Bak [http://stackoverflow.com/questions/672980/dispose-on-user-controls-really-meant-to-edit-the-designer-cs-file][1] [1]: http://stackoverflow.com/questions/672980/dispose-on-user-controls-really-meant-to-edit-the-designer-cs-file – VMykyt