Щелчок правой кнопкой мыши по полю со списком предназначен для контекстного меню.
Если контекстное меню не связано с полем со списком, отображается стандартное windows системное меню.
Чтобы делать то, что вы хотите, как вы хотите, вам нужно отключить это с помощью фиктивного меню:
using System.ComponentModel;
public FormTest()
{
InitializeComponent();
ComboBox1.ContextMenuStrip = new ContextMenuStrip();
ComboBox1.ContextMenuStrip.Opening += ComboBox1_RightMouseClick;
}
private void FormTest_Load(object sender, EventArgs e)
{
ComboBox1.Items.Add(new student() { Name = "name 1", Hight = 10, Level_garrulity = 1 });
ComboBox1.Items.Add(new student() { Name = "name 2", Hight = 20, Level_garrulity = 2 });
ComboBox1.Items.Add(new student() { Name = "name 3", Hight = 30, Level_garrulity = 3 });
}
private void ComboBox1_RightMouseClick(object sender, CancelEventArgs e)
{
var item = ComboBox1.SelectedItem as student;
if (item == null ) return;
string name = "גובה: " + item.Hight.ToString()
+ " דרגת פטפוט:" + item.Level_garrulity.ToString();
toolTip1.SetToolTip(ComboBox1, name);
}
Но есть некоторые проблемы, и я обнаружил, что результат - плохой UX.
Таким образом, вместо этого я рекомендую вам использовать событие наведения мыши, поэтому, если элемент выбран, отображается всплывающая подсказка, но для этого необходимо, чтобы поле со списком было выпадающим списком, чтобы отлично работать, иначе необходимо несколько движений мыши, но результат может быть лучше, чем при щелчке правой кнопкой мыши, если он соответствует вашей цели:
public FormTest()
{
InitializeComponent();
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
}
private void ComboBox1_MouseHover(object sender, EventArgs e)
{
var item = ComboBox1.SelectedItem as student;
if ( item == null ) return;
string name = "גובה: " + item.Hight.ToString()
+ " דרגת פטפוט:" + item.Level_garrulity.ToString();
toolTip1.SetToolTip(ComboBox1, name);
}
Следовательно, всплывающая подсказка всегда актуальна, в отличие от версии с щелчком правой кнопкой мыши.
введите описание изображения здесь