เคล็ดลับเครื่องมือกะพริบ

ฉันกำลังใช้คำแนะนำเครื่องมือในกล่องรายการ และถึงแม้ว่ามันจะใช้งานได้ แต่มันยังคงกะพริบ/กะพริบอยู่ มีวิธีแก้ไขปัญหานี้อย่างไร สิ่งเดียวที่ฉันคิดได้คือเปิดการบัฟเฟอร์สองครั้งแต่นั่นไม่ได้ผล

นี่คือฟังก์ชั่นที่ฉันใช้

private void onMouseMove(object sender, MouseEventArgs e)
{
    if (sender is ListBox)
    {
        Point point = new Point(e.X, e.Y);
        int hoverIndex = LSB_OfflineVars.IndexFromPoint(point);
        if (hoverIndex >= 0 && hoverIndex < LSB_OfflineVars.Items.Count)
        {
            tt.SetToolTip(LSB_OfflineVars, LSB_OfflineVars.Items[hoverIndex].ToString());
        }
    }
}

ขอบคุณล่วงหน้าโรบิน


person Robin Simon    schedule 14.03.2012    source แหล่งที่มา
comment
รหัสที่เกี่ยวข้องหายไป ดังนั้นเราจึงช่วยไม่ได้จริงๆ แค่เดาเท่านั้น LSB_OfflineVarsคืออะไร? รหัสสำหรับวิธี SetToolTip คืออะไร?   -  person Shadow Wizard Wearing Mask V2    schedule 14.03.2012
comment
ทำไมคุณถึง 'ช่วยเหลือ' ผู้ให้บริการ tt?   -  person Henk Holterman    schedule 14.03.2012
comment
@shadow - จริงๆ แล้วค่อนข้างสมบูรณ์และเข้าใจได้   -  person Henk Holterman    schedule 14.03.2012
comment
มันกะพริบเนื่องจากโค้ดของคุณอยู่ในเหตุการณ์ MouseMove ซึ่งจะเริ่มทำงานทุกครั้งที่มีการเลื่อนเมาส์ ดังนั้นคุณจึงแสดงคำแนะนำเครื่องมืออีกครั้ง   -  person Shawn Steward    schedule 14.03.2012
comment
@Henk ใช่แล้ว ขออภัยไม่คิดว่าเขาใช้ คลาสเคล็ดลับเครื่องมือ   -  person Shadow Wizard Wearing Mask V2    schedule 14.03.2012


คำตอบ (3)


การใช้ onMouseHover แทนควรแก้ไขปัญหาได้ เนื่องจากจะไม่ถูกเรียกใช้บ่อยนักแต่ยังคงให้ฟังก์ชันการทำงานเหมือนเดิม

person John    schedule 14.03.2012

คุณสามารถแก้ปัญหานี้ได้โดยเพิ่ม tt.toolTip.Hide(dataGridCurrAlarms); tt.toolTip.RemoveAll(); ที่จุดเริ่มต้นของวิธีการ

person Medic3000    schedule 23.05.2012

แล้วถ้าคุณตั้งค่า ShowAlways ทรัพย์สินให้เป็นจริง

person SwDevMan81    schedule 14.03.2012