C#如何在点击了一个label后使其突出显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何在点击了一个label后使其突出显示相关的知识,希望对你有一定的参考价值。

如图所示假如鼠标点击量短信平台,能够像沟通平台那样有一个背景凹进去的效果
如能帮忙解决感激不尽!

简单来说,就是在label上添加一个点击事件。

你没有说是C# windows form还是web form.

win form 要显呈现更好的效果,就是写自定义的用户控件。

web form ,现在使用的是“高亮”(highlight)的方式。实际上往往都不是label。下面是一个简单的示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style type="text/css">
li margin:5px;
.sex span border: 1px solid #CCC; display:inline-block;  margin-right:10px;

.sex span.highight border:2px solid #F60;  font-weight:bold;
</style>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.min.js" ></script>

<script type="text/javascript" >
$(document).ready(function () 
$('.sex span').click(function()
$('.sex span.highight').removeClass('highight');
$(this).addClass('highight');
);
);
</script>

</head>

<body>
<ul>
<li>Name: <input type="text" name="username" id="username" /> </li>
    <li class="sex">Sex:  <span ><input type="radio" name="sex" value="1" />boy </span><span ><input type="radio" name="sex" value="2" />girl </span></li>
<li ><input type="button" id="bt01" value="ok"  /> </li>
</ul>


</body>
</html>

参考技术A 在label_MouseMove事件或是label_MouseHover事件里写代码,更改label的背景图片。
MouseMove是移动到label上就激发的,MouseHover是要悬停几秒才触发的,看你要哪种效果就选哪个事件。追问

请问格式是不是就是这样?private void label1_MouseMove(object sender, EventArgs e)

追答

是这样的:label_MouseMove(object sender, MouseEventArgs e)
你也可以直接在控件的属性页中选择事件,然后找到MouseMove,双击即可

本回答被提问者和网友采纳
参考技术B 绑定点击事件方法,添加更换背景的代码追问

怎么绑定?可以再说详细一些么?

参考技术C 这个是js特效,控制样式实现的

VIM,增量搜索:如何跳转到下一个结果并使其突出显示?

【中文标题】VIM,增量搜索:如何跳转到下一个结果并使其突出显示?【英文标题】:VIM, incremental search: How can I jump to the next result and get it highlighted? 【发布时间】:2011-12-24 07:51:54 【问题描述】:

当使用 VIM 的增量搜索选项时,我通常会搜索并在获得第一个结果后(将突出显示)我使用 / 键跳转到下一个结果。

但是:

    为此,我需要“取消”我的搜索并返回普通模式,以便跳转下一个结果。 按 / 会使 VIM 跳转到下一个结果,但不会突出显示它。

我想知道是否有更有效的方法可以使用增量搜索在结果之间跳转并突出显示它们。

【问题讨论】:

【参考方案1】:

跳转到下一个搜索结果的习惯键是'n'。

我不完全确定您所说的突出显示是什么意思 - 如果设置了 hlsearch,则所有搜索结果都应该突出显示,对我来说,使用“n”或“/”转到下一个结果没有区别。

【讨论】:

马修,谢谢。但是,我进行增量搜索,键入(它会跳转并突出显示)而不是按 ENTER 而不是使用 'n' 并且光标会跳转到下一个结果。但它没有突出显示。你认为它应该采取不同的行动吗? 我的只是立即突出显示所有这些 - 如果缓冲区中同时显示多个搜索结果,我可以看到它们都有黄色背景。这是我系统上的默认配置,IIRC 由“hlsearch”设置控制。 和'N'向后搜索。 @MatthewWalton 任何想法,我如何在搜索中跳转固定数量的结果。我的意思是例如跳转到第 10 个匹配行 @GPcyborg 试试[number]n?那应该执行n[number] 次,即前进n 结果。【参考方案2】:

使用Ctrl-tCtrl-g,您可以在匹配之间移动而无需离开搜索模式

【讨论】:

这就是我要找的。我希望突出显示当前选择的匹配项。【参考方案3】:

如果您想突出显示所有搜索结果,您应该设置hlsearch 而不是incsearch

【讨论】:

这就是问题所在。谢谢。 @zoltanctoth:你真的应该接受另一个答案,因为他是第一个并且实际上告诉了同样的事情。 你是对的。我错过了@matthew 答案中的 hlsearch 部分。感谢您的关注。

以上是关于C#如何在点击了一个label后使其突出显示的主要内容,如果未能解决你的问题,请参考以下文章

如何突出显示 DataGridView 行或使其暂时发光?

如何在 C# Winforms 程序的文本框中突出显示文本?

如何防止 UITableViewCell 重复和重用?

使用dygraph.js突出显示交互式区域

在 Windows 中,如何使用 C++ 或 C# 在属于另一个进程的窗口中突出显示文本?

C# ListView 详细信息,突出显示单个单元格