Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Tooltip flickering

Îåêßíçóå áðü ôï ìÝëïò Δημήτρης Μπούνδρης. Τελευταία δημοσίευση από το μέλος nikos123 στις 03-04-2012, 22:10. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-04-2012, 09:47 69895

    Tooltip flickering

    Καλημέρα,

     

    Θέλω όταν κάνω drop ένα dropdownlist με δεμένο ένα Data Table και «δειχνω» με το ποντίκι στα menu items να βγαίνει ένα Tooltip με το text

    Δυστυχώς κάνει πολύ flickering και δεν ξέρω γιατι.

     

    Έχω οπότε δώσει στο Drawmode  property “OwnerDrawFixed”

     

            private void cmbPRODUCTS_DrawItem(object sender, DrawItemEventArgs e)
            {
                string text = ((System.Data.DataRowView)(cmbPRODUCTS.Items[e.Index])).Row.ItemArray[3].ToString();
                e.DrawBackground();
    
                using (SolidBrush br = new SolidBrush(e.ForeColor))
    
                {
                    e.Graphics.DrawString(text, e.Font, br, e.Bounds);
                    toolTip1.RemoveAll();
                    toolTip1.UseAnimation = false;
                }
    
                if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
    
                {
                    toolTip1.Show(text, cmbPRODUCTS, e.Bounds.Right, e.Bounds.Bottom);
                }
                else
                {
                    toolTip1.Hide(cmbPRODUCTS);
                }
                e.DrawFocusRectangle();
            }
    
     
    
            public void Init()
            {
                toolTip1 = new ToolTip();
                toolTip1.SetToolTip(cmbPRODUCTS, "");
                toolTip1.InitialDelay = 0;
                toolTip1.ReshowDelay = 1;
                this.DoubleBuffered = true;
    
             ………………….


    Dimitris Boundris
    Software Engineer
  •  03-04-2012, 22:10 69908 σε απάντηση της 69895

    Απ: Tooltip flickering

    To DoubleBuffered=true ισχύει για τη Φόρμα, όχι για το comboBox.
       
    Δοκίμασε να κάνεις ένα derived control 
        public class MyComboBox : ComboBox
        {
            public MyComboBox()
            {
                this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true);
            }
        }
     

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems