Tôi đã tự hỏi làm thế nào tôi có thể làm điều này. Tôi biết tôi có thể sử dụng các thành phần nút nhưng nó có những thứ màu xám nhỏ xung quanh nó khi tôi cho nó một hình ảnh. Với nút hình ảnh làm thế nào tôi có thể hiển thị một hình ảnh cho hiệu ứng hoverLàm thế nào để làm cho nút hình ảnh
Trả lời
Bạn muốn tạo một nút không có biên giới nhưng hiển thị hình ảnh khác nhau khi người dùng di chuột qua nó với chuột? Đây là cách bạn có thể làm điều đó:
Thêm một điều khiển ImageList mẫu tại thêm hai hình ảnh, một cho sự xuất hiện bình thường của nút và một cho khi con chuột được lơ lửng trên.
Thêm nút của bạn và thiết lập các thuộc tính sau:
FlatStyle
= Flat
FlatAppearance.BorderColor
(và có thểMouseOverBackColor
&MouseDownBackColor
) để màu nền của hình thức của bạn
ImageList
= ImageList bạn thêm vào biểu mẫu
ImageIndex
đến giá trị chỉ mục của hình ảnh bình thường của bạn
Mã MouseHover và MouseL các sự kiện dự báo cho nút như sau:
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;
}
Tôi tin rằng sẽ mang đến cho bạn hiệu ứng hình ảnh mà bạn đang tìm kiếm.
Hoàn toàn hoàn hảo – motoDrizzt
Math.pow (vote_up, current_up_votes * 2) –
Bạn có thể gán thuộc tính BackgroundImage cho nút. Bạn cũng có thể sử dụng các sự kiện OnMouseEnter và OnMouseExit để thay đổi nền theo yêu cầu của bạn.
WinForm không có một ImageButton không giống như Web Forms. Thêm một hình ảnh vào một nút bình thường là có thể, nhưng không nhìn tốt trong một số trường hợp. Bạn có thể phải sử dụng nút điều khiển của bên thứ ba như WinForm ImageButton hoặc tạo CustomControl của riêng bạn.
tóm tắt nhỏ (Border, MouseDownBackColor, MouseOverBackColor)
FlatApperance
BorderColor
= Đen hoặc những gì đã bao giờ bạn muốn
BorderSize
= có thể được thiết lập để 0
MouseDownBackColor
= Transparent
MouseOverBackColor
= Transparent
Text
= none
Đối MouseDown:
private void button1_MouseDown(object sender, MouseEventArgs e) { // ImageList index value for the mouse down image. button1.ImageIndex = 2; }
tôi cũng cần một nút hình ảnh, nhưng tôi muốn có một cái như ToolstripMenuButton. Với đường viền và màu sắc chính xác khi di chuột. Vì vậy, tôi đã thực hiện quyền kiểm soát tùy chỉnh để thực hiện điều đó:
using System;
using System.ComponentModel;
using System.Windows.Forms;
namespace LastenBoekInfrastructure.Controls.Controls
{
[DefaultEvent("Click")]
public class ImageButton : UserControl
{
public string ToolTipText
{
get { return _bButton.ToolTipText; }
set { _bButton.ToolTipText = value; }
}
public bool CheckOnClick
{
get { return _bButton.CheckOnClick; }
set { _bButton.CheckOnClick = value; }
}
public bool DoubleClickEnabled
{
get { return _bButton.DoubleClickEnabled; }
set { _bButton.DoubleClickEnabled = value; }
}
public System.Drawing.Image Image
{
get { return _bButton.Image; }
set { _bButton.Image = value; }
}
public new event EventHandler Click;
public new event EventHandler DoubleClick;
private ToolStrip _tsMain;
private ToolStripButton _bButton;
public ImageButton()
{
InitializeComponent();
}
private void InitializeComponent()
{
var resources = new ComponentResourceManager(typeof(ImageButton));
_tsMain = new ToolStrip();
_bButton = new ToolStripButton();
_tsMain.SuspendLayout();
SuspendLayout();
//
// tsMain
//
_tsMain.BackColor = System.Drawing.Color.Transparent;
_tsMain.CanOverflow = false;
_tsMain.Dock = DockStyle.Fill;
_tsMain.GripMargin = new Padding(0);
_tsMain.GripStyle = ToolStripGripStyle.Hidden;
_tsMain.Items.AddRange(new ToolStripItem[] {
_bButton});
_tsMain.Location = new System.Drawing.Point(0, 0);
_tsMain.Name = "_tsMain";
_tsMain.Size = new System.Drawing.Size(25, 25);
_tsMain.TabIndex = 0;
_tsMain.Renderer = new ImageButtonToolStripSystemRenderer();
//
// bButton
//
_bButton.DisplayStyle = ToolStripItemDisplayStyle.Image;
_bButton.Image = ((System.Drawing.Image)(resources.GetObject("_bButton.Image")));
_bButton.ImageTransparentColor = System.Drawing.Color.Magenta;
_bButton.Name = "_bButton";
_bButton.Size = new System.Drawing.Size(23, 22);
_bButton.Click += bButton_Click;
_bButton.DoubleClick += bButton_DoubleClick;
//
// ImageButton
//
Controls.Add(_tsMain);
Name = "ImageButton";
Size = new System.Drawing.Size(25, 25);
_tsMain.ResumeLayout(false);
_tsMain.PerformLayout();
ResumeLayout(false);
PerformLayout();
}
void bButton_Click(object sender, EventArgs e)
{
if (Click != null)
{
Click(this, e);
}
}
void bButton_DoubleClick(object sender, EventArgs e)
{
if(DoubleClick != null)
{
DoubleClick(this, e);
}
}
public class ImageButtonToolStripSystemRenderer : ToolStripSystemRenderer
{
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
//base.OnRenderToolStripBorder(e);
}
}
}
}
- 1. Làm thế nào để làm cho một ngày jqueryPicker nút hình ảnh unclickable
- 2. Làm thế nào để thêm hình ảnh tùy chỉnh cho một nút (võ đường 1.7)
- 3. hình ảnh cho AlertDialog nút
- 4. làm thế nào để làm cho hình ảnh động cho cửa sổ popup trong android
- 5. Làm cho một hình ảnh hoạt động như một nút
- 6. Java: Hình ảnh làm nút chuyển đổi
- 7. SVG - Làm thế nào để cắt ảnh thành hình tròn?
- 8. Làm cho nút Hình ảnh được nhấn/bấm trong Swing
- 9. Làm cách nào để thêm biểu tượng hình ảnh cho nút tùy chỉnh trong triển vọng
- 10. Làm thế nào để làm cho UITextView "Done" nút resignFirstResponder?
- 11. Làm thế nào để làm cho nút không minh bạch?
- 12. Làm thế nào để vô hiệu hóa hình ảnh nhấp nháy trong một nút?
- 13. Làm cách nào tôi có thể kéo hình ảnh trong nút hình ảnh thành toàn bộ vùng của nút ảnh?
- 14. Làm thế nào để chuyển đổi bytearray để hình ảnh hoặc hình ảnh để bytearray?
- 15. Làm thế nào để chuyển đổi nút thành hình ảnh trong javafx 2.1?
- 16. Làm thế nào để đặt các nút trên hình ảnh trong Android?
- 17. Làm thế nào để che phủ/nhúng nút bootstrap trên hình ảnh?
- 18. Làm thế nào để có hình ảnh + văn bản trong một nút trong Tkinter
- 19. Làm thế nào để phát hành hình ảnh từ nguồn hình ảnh trong WPF
- 20. Làm thế nào để làm cho JLabel với hình ảnh điền BorderLayout.CENTER
- 21. Làm thế nào để làm cho hình ảnh bị cắt gọn
- 22. Làm thế nào để làm cho hình ảnh điền vào nền RelativeLayout mà không kéo dài
- 23. MailMessage C# - Làm thế nào để làm cho nó HTML và thêm hình ảnh vv?
- 24. làm thế nào để làm cho hình ảnh của tôi có thể bấm
- 25. Làm thế nào để bạn nhấp nháy hình ảnh?
- 26. Làm thế nào để có được một mảng hình ảnh?
- 27. Làm thế nào để loại bỏ xén tỷ lệ hình vuông cho hình ảnh trên IOS
- 28. Làm thế nào để đọc một hình ảnh với PHP?
- 29. Làm cách nào để thêm hình ảnh?
- 30. Làm thế nào để đóng một hình ảnh?
Bạn đang nói về WinForms, WPF hoặc ASP.NET? – Alxandr
Tôi đang nói về WinForms – Matthewj
Tôi không có kỹ năng trong WinForms, nhưng tôi nghĩ bạn có thể biến biên giới và nền trên ImageButtons, và sau đó, có thể có một số sự kiện để di chuột hoặc thứ gì đó mà bạn có thể sử dụng để thay đổi hình ảnh. – Alxandr