表格布局面板中单元格上的工具提示

本文关键字:工具提示 单元格 布局 表格 | 更新日期: 2023-09-27 17:56:55

我正在构建一个简单的应用程序来练习.net库。基本上,我想用不同颜色的单元格填充表单。这很好用(我有一个列表 颜色色板 里面有十六进制值):

private void AddListToTable()
{
    TableLayoutPanel tlp = new TableLayoutPanel();
    tlp.CellBorderStyle = TableLayoutPanelCellBorderStyle.Inset;
    tlp.RowCount = 5;
    tlp.GrowStyle = TableLayoutPanelGrowStyle.AddColumns;
    tlp.Padding = new Padding(1, 1, 4, 5);
    tlp.AutoSize = true;
    foreach (String colour in ColourSwatches)
    {
        Panel panel = new Panel();
        panel.BackColor = System.Drawing.ColorTranslator.FromHtml("#" + colour);
        panel.Size = new Size(100, 100);            
        tlp.Controls.Add(panel);
    }
    Form.Controls.Add(tlp);
}

我想添加的是将鼠标悬停在面板上并获取十六进制值以显示在工具提示窗口中的功能。

实现这一目标的最简单方法是什么?

如果我没有对所有面板使用相同的名称,我想我可以使用它,但我想不出替代方法。

有什么想法吗?

谢谢!

表格布局面板中单元格上的工具提示

据我所知,面板对象没有现成的工具提示属性。 您可以使用许多插件来提供帮助,例如JQueryUI,Ajax工具包。

或者,TableRow 和 TableCell 类具有工具提示属性,因此您可以使用表创建色板。

foreach (String colour in ColourSwatches)
{
    TableRow Row = new TableRow();
    Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#" + colour);
    Row.ToolTip = "mycolor";
    table.rows.Add(row);
}

在 ASPX 页中创建一个表:

<asp:Table runat="server" id="colortable"></asp:table>

然后在代码隐藏中将行添加到表行集合中,如下所示:

TableRow newrow = new TableRow();
colortable.Rows.Add(newrow);

可以将单元格添加到行单元格集合中,如下所示:

TableCell newcell = new TableCell();
newrow.Cells.Add(newcell);

该错误表明您要绑定到直接将 TableCell 添加到页面控件集合中。 需要将 TableCell 添加到 TableRow。 和添加到表中的表行。 希望这有帮助。