我想知道我怎么能这样做。我知道我可以使用按钮组件,但当我给它一个图像时它周围有一些灰色的东西。使用图像按钮,我如何显示悬停效果的另一个图像
答案 0 :(得分:21)
您想创建一个没有边框的按钮,但当用户用鼠标悬停在图像上时会显示不同的图像?这是你如何做到的:
将一个ImageList控件添加到表单中,添加两个图像,一个用于按钮的正常外观,另一个用于鼠标悬停时。
添加按钮并设置以下属性:
FlatStyle
=平
您的表单背景颜色FlatAppearance.BorderColor
(可能MouseOverBackColor
& MouseDownBackColor
)
ImageList
=您添加到表单的ImageList
ImageIndex
到普通图片的索引值
为按钮编码MouseHover和MouseLeave事件,如下所示:
private void button1_MouseHover(object sender, EventArgs e) {
// ImageList index value for the hover image.
button1.ImageIndex = 1;
}
private void button1_MouseLeave(object sender, EventArgs e) {
// ImageList index value for the normal image.
button1.ImageIndex = 0;
}
我相信这会给你带来你正在寻找的视觉效果。
答案 1 :(得分:3)
小摘要(Border,MouseDownBackColor,MouseOverBackColor)
<强> FlatApperance 强>
BorderColor
=黑色或任何你想要的东西
BorderSize
=可以设置为0
MouseDownBackColor
=透明
MouseOverBackColor
=透明
Text
=无
对于MouseDown :
private void button1_MouseDown(object sender, MouseEventArgs e) {
// ImageList index value for the mouse down image.
button1.ImageIndex = 2;
}
答案 2 :(得分:1)
您可以为按钮指定BackgroundImage属性。您还可以使用OnMouseEnter和OnMouseExit事件根据您的请求更改背景。
答案 3 :(得分:0)
与Web窗体不同,WinForm没有ImageButton。可以将图像添加到普通按钮,但在某些情况下看起来不太好。您可能必须使用第三方按钮控件,如WinForm ImageButton或创建自己的CustomControl。
答案 4 :(得分:0)
我还需要一个图像按钮,但我想要一个像ToolstripMenuButton。 悬停时使用正确的边框和颜色。 所以我做了一个自定义控件来做到这一点:
<div class="backgroundOverlay cShow" ng-show="isShownEdit">
<div class="dropDown positionPopUp inpuBlock" id="add">
<div class="inputBlock">
<h1 class="popupTitle">{{titlePopup}}</h1>
<div>
<div class="cClearFloat cInputSpace">
<input placeholder="Name" ng-model="currentPassword.Name">
</div>
<div class="cClearFloat cInputSpace">
<input placeholder="Passwort" ng-model="currentPassword.Passwort">
</div>
<div class="cClearFloat cInputSpace">
<input placeholder="Beschreibung" ng-model="currentPassword.Beschreibung">
</div>
<div class="cClearFloat cInputSpace">
<div class="divSmall">
<label class="inputDropdownPlaceholder">Kategorien</label>
<div class="divOptions" ng-repeat="item in categories">
<label class="labelDropDown"><input type="checkbox" class="inputDropDown" ng-model="item.isChecked" ng-checked="checkedCategory(item)" ng-init="item.isChecked = checkedCategory(item)" ng-change="changedCategory(item)">{{item.Label}}</label><br>
</div>
</div>
<div class="cClearFloat cButtons">
<button class="cButtonSpeichern" ng-click="showAlertPassword()">Speichern</button>
<button class="cButtonAbbrechen" ng-click="isShownEdit= false">Abbrechen</button>
</div>
</div>
</div>
</div>
</div>
</div>