我有这段代码:
private void scrollLabel1_MouseDown(object sender, MouseEventArgs e)
{
for (int i = 0; i < ScrollLabel._lines.Length; i++)
{
}
}
_lines是string []
的类型_lines格式是这样的:
第一个索引0包含一些文字:“你好” 索引1包含一行日期和时间:星期五,2014年1月31日18:31:12 +0200
然后索引2是空行空格:“”
然后索引3再一个文字:“嗨” 索引4再次是日期和时间:星期五,2014年1月31日18:31:30 +0200
os上有151行。
我想要做的是,当我点击(向下)任意一行,它是两行文字+日期和时间的一部分时,它会为这两行着色。
例如,我在这一行的任何地方点击了索引0的行,如果我点击索引2中为空的行,它将为索引0和索引1着色。
如果我点击索引3或4中的行,则着色线3和4。 如果我在第3行或第4行上单击第3行和第4行。
如果我在线上点击例如123或124颜色123和124。
我该怎么做?
ScrollLabel是我拖动到form1设计器的UserControl类型标签。并且它有指数选择事件或类似的东西。
答案 0 :(得分:1)
如果i
是所点击行的索引,请执行以下操作:
int j = ((int)(i / 3)) * 3;
colorLine(j);
colorLine(j + 1);
// colorLine(j + 2); // not needed, that line is an empty string
colorLine()
方法应该着色为给定索引的行着色。它应该做这样的事情:
private void colorLine(int j)
{
ScrollLabel._lines[j] // put here code to color the line
}
如何实际为线条着色完全取决于线条实际是什么。按实例后面的.
(点)打开Intellisense,查看哪些方法和属性可用。一个将允许着色线。如果没有,着色是不可能的,整个尝试是不可能的。