2009-05-21 7 views
5

'da bir yol çubuğunun değerini gösteren bir araç ipucunu nasıl görüntüleyebilirim C# ve WinForms için yeni yapıyorum, lütfen kusura bakmayın, bu bir yeni kullanıcı sorusu.WinForms

TrackBar denetimime, sürüklediğiniz sırada çubuğun geçerli değerini gösteren bir araç ipucu eklemeye çalışıyorum. Bir araç ipucu nesne örneği ve aşağıdaki işleyici kodu denedik ama herhangi ipucu göstermez ettik:

private void trackBar1_Scroll(object sender, EventArgs e) 
{ 
    toolTip1.SetToolTip(trackBar1, trackBar1.Value.ToString()); 
} 
Eğer toolTip1 sınıfını initialize nasıl oldu

cevap

12

Adam sadece bu çok basit bir versiyonunu uyguladık ve tam beklendiği gibi çalıştığını söylüyor

private void InitializeComponent() 
    { 
     this.components = new System.ComponentModel.Container(); 
     this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); 
     this.trackBar1 = new System.Windows.Forms.TrackBar(); 
     ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).BeginInit(); 
     this.SuspendLayout(); 
     // 
     // trackBar1 
     // 
     this.trackBar1.Location = new System.Drawing.Point(12, 166); 
     this.trackBar1.Name = "trackBar1"; 
     this.trackBar1.Size = new System.Drawing.Size(268, 42); 
     this.trackBar1.TabIndex = 1; 
     this.trackBar1.Scroll += new System.EventHandler(this.trackBar1_Scroll); 
     // 
     // Form1 
     // 
     this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 
     this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 
     this.ClientSize = new System.Drawing.Size(292, 273); 
     this.Controls.Add(this.trackBar1); 
     this.Name = "Form1"; 
     this.Text = "Form1"; 
     ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit(); 
     this.ResumeLayout(false); 
     this.PerformLayout(); 

    } 

    private void trackBar1_Scroll(object sender, EventArgs e) 
    { 
     toolTip1.SetToolTip(trackBar1, trackBar1.Value.ToString()); 

    } 

Ve her ek artış için hamleyi taşıdığım gibi çalışır ...

+0

Aaargh! Sen haklısın Eoin, işe yarıyor. Kodumda, trackbar kaydırma işleyicisinin çağrılmasını engelleyen bir hata buldum. Stack Overflow'a göndermeden önce bu şeyleri daha dikkatli bir şekilde kontrol etmeliyim. Bu iyi bir kod örneği olsa da, kabul edilen cevabı yapacağım. –

1

? Araç ipucu metnini ayarlama şekliniz iyi görünüyor, belki de bileşen işten önce bazı genel özellikleri ayarladınız mı?

MSDN İşte

karşılaştırma için init kod ...

// Create the ToolTip and associate with the Form container. 
ToolTip toolTip1 = new ToolTip(); 

// 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; 
+0

Sadece toolTi ile başlattım p1.SetToolTip (trackBar1, "0"); Araç ipucu, yalnızca kaydırma çubuğunun üzerine geldiğinizde ancak kaydırma çubuğunu taşıdığınız anda araç ipucu kalıcı olarak kaybolduğunda "0" gösterir. Bu kadar hızlı yanıt verdiğiniz için teşekkür ederiz, ancak gönderdiğiniz hatların eklenmesi herhangi bir fark yaratmıyor gibi görünüyor. –