我的Windows窗体上有自定义用户控件.此控件上有几个标签.
我将在我的表单上动态显示这些控件的数组,其中包含不同的数据位.
我想要做的是知道当我点击它时选择了哪个用户控件.
当我单击用户控件上的空白区域时,这会起作用,但是,如果单击用户控件上的任何标签,它将无法识别用户控件单击.
有关如何进行完全用户控制点击的任何想法,即使点击控件上的标签?
如果这个问题不明确,或者您需要更多信息,请发表评论.
我在c#中这样做.
谢谢!
我有一个名为GameButton的用户控件,里面有一个标签.当我将用户控件添加到我的表单并向其添加单击事件时,当您单击自定义按钮的背景而不是标签中的文本时会触发它?如果不在用户控件代码中添加一堆点击事件,我该如何解决这个问题?
编辑:UI框架:winforms
我在FlowPanelLayout中设置了UserControls,并在此问题中提供了帮助: For Each DataTable将UserControl添加到FlowLayoutPanel
我现在正在尝试实现一个click事件,它允许我在已选择的UserControl周围放置一个边框.我这样做了:
private void User_Load(object sender, EventArgs e)
{
flowlayoutpanelUsers.HorizontalScroll.Visible = false;
// Load and Sort Users DataTable
DataTable datatableUsers = UserMethods.GetUsers().Tables["Users"];
datatableUsers.DefaultView.Sort = "Name";
DataView dataviewUsers = datatableUsers.DefaultView;
// Loop Through Rows and Add UsersGrid to FlowLayoutPael
foreach (DataRowView datarowviewUsers in dataviewUsers)
{
var UsersGrid = new UsersGrid
{
Username = datarowviewUsers["Username"].ToString(),
User = datarowviewUsers["Name"].ToString(),
Admin = datarowviewUsers["Administrator"].ToString(),
};
flowlayoutpanelUsers.Controls.Add(UsersGrid);
UsersGrid.MouseClick += new MouseEventHandler(user_click);
}
}
private UsersGrid selectedUser;
void user_click(object sender, EventArgs e)
{
if …Run Code Online (Sandbox Code Playgroud)