Извините за мой запрос, но я только новичок в использовании UserControl
:
Почему MouseClickEvent элемента UserControl не наследуется элементами управления (например, метками) внутри него?
Чтобы показать вам, как я создаю экземпляр UserControl внутри flowLayoutPanel
:
studentItemList[] listItem = new studentItemList[dt.Rows.Count];
for (int i = 0; i < listItem.Length; i++)
{
listItem[i] = new studentItemList();
listItem[0].Anchor = AnchorStyles.Right;
listItem[i].MouseDoubleClick += StudentPrev;
listItem[i].StudentID = dt.Rows[i].Field<string>(0);
listItem[i].StudentName = dt.Rows[i].Field<string>(1) + ", " + dt.Rows[i].Field<string>(2) + " " + dt.Rows[i].Field<string>(3);
listItem[i].StudentEmail = dt.Rows[i].Field<string>(4);
listItem[i].StudentStatus = dt.Rows[i].Field<string>(5);
flowLayoutPanelStudents.Controls.Add(listItem[i]);
}
studentItemList.cs:
public partial class studentItemList : UserControl
{
public studentItemList()
{
InitializeComponent();
}
private string _studID, _studName, _studEmail, _status;
public string StudentID
{
get { return _studID; }
set { _studID = value; studentNo.Text = value; }
}
public string StudentName
{
get { return _studName; }
set { _studName = value; studentName.Text = value; }
}
private void studentNo_Click(object sender, EventArgs e)
{
}
public string StudentEmail
{
get { return _studEmail; }
set { _studEmail = value; studentEmail.Text = value; }
}
public string StudentStatus
{
get { return _status; }
set { _status = value; status.Text = value; }
}
private void label1_Click(object sender, EventArgs e)
{
}
}
Label.Autosize
установлен на true
, а DockStyles
установлен на Left
.
Хотя, MouseEvent
get срабатывает при нажатии на родительскую Panel для UserControl
.
Что за причина этого?