有誰知道的一種方法,使一箱「彈出」時,在用戶的遊標某些項目?
例如,我想有一個C#窗體應用程序一個PictureBox若超過它的用戶光標,文本框會彈出。
我所知道的ToolTip
但是我想的更多的東西可定製;在我的腦海,我想你在魔獸世界中看到,當你光標移到某個項目在您的庫存那種彈出對話框中(很明顯這並不一定是華而不實的,但至少有一個在文本顏色,背景顏色,文字等都是可以修改的)。
有誰知道的一種方法,使一箱「彈出」時,在用戶的遊標某些項目?
例如,我想有一個C#窗體應用程序一個PictureBox若超過它的用戶光標,文本框會彈出。
我所知道的ToolTip
但是我想的更多的東西可定製;在我的腦海,我想你在魔獸世界中看到,當你光標移到某個項目在您的庫存那種彈出對話框中(很明顯這並不一定是華而不實的,但至少有一個在文本顏色,背景顏色,文字等都是可以修改的)。
我的意思是,如果一個按鈕或圖像按鈕,你可以添加類似MouseHover動作,然後顯示您的消息
private void button1_MouseHover(object sender, System.EventArgs e)
{
MessageBox.Show("yourmessage");
}
需要定製工具提示。參考 http://www.codeproject.com/Articles/98967/A-ToolTip-with-Title-Multiline-Contents-and-Image
還有一些其他的文章,但這一個適合我工作的很好。
您可能需要爲您的要求添加代碼。
可以使用ToolStripControlHost主辦的控制(例如面板),並添加你想要的內容。然後使用Items集合將該控件添加到ToolStripDropDown,並使用Show(Control,Point)方法顯示該控件。
思想我想補充一個例子
public class Form1 {
public Form1() {
ToolStripDropDown customToolTip = new ToolStripDropDown();
customToolTip.Items.Add(new CustomPopupControl("Hello", "world"));
MouseMove += (o, e) => {
Point location = e.Location;
location.Offset(0, 16);
customToolTip.Show(this, location);
};
}
class CustomPopupControl : ToolStripControlHost {
public CustomPopupControl(string title, string message)
: base(new Panel()) {
Label titleLabel = new Label();
titleLabel.BackColor = SystemColors.Control;
titleLabel.Text = title;
titleLabel.Dock = DockStyle.Top;
Label messageLabel = new Label();
messageLabel.BackColor = SystemColors.ControlLightLight;
messageLabel.Text = message;
messageLabel.Dock = DockStyle.Fill;
Control.MinimumSize = new Size(90, 64);
Control.Controls.Add(messageLabel);
Control.Controls.Add(titleLabel);
}
}
}
你可以用另一種形式來做到這一點,使用鼠標在輸入/輸出操作的顯示/隱藏 – Prix