繁体   English   中英

TableLayoutPanel中单元格上的工具提示

[英]Tool tip on cell in TableLayoutPanel

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

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);
}

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

最简单的方法是什么?

如果我没有为所有面板使用相同的名称,我想我可以使用它,但是我想不出另一种方法。

有任何想法吗?

谢谢!

据我所知,Panel对象没有开箱即用的工具提示属性。 您可以使用许多插件来提供帮助,例如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。 然后将TableRow添加到表中。 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM