Mi chiedevo come potevo farlo. So che posso usare il componente del pulsante ma ha le piccole cose grigie intorno quando gli do un'immagine. Con il pulsante immagine come posso mostrare un'altra immagine per l'effetto hoverCome rendere il pulsante immagine
risposta
Si desidera creare un pulsante senza confine, ma visualizza le immagini differenti quando l'utente passa sopra con il mouse? Ecco come si può fare:
Aggiungere un controllo ImageList al form a aggiungere due immagini, una per l'aspetto normale del pulsante e uno per quando il mouse passa sopra.
Aggiungere il pulsante e impostare le seguenti proprietà:
FlatStyle
= piatto
FlatAppearance.BorderColor
(e forseMouseOverBackColor
&MouseDownBackColor
) per il colore di sfondo del modulo
ImageList
= ImageList aggiunto al modulo
ImageIndex
al valore dell'indice dell'immagine normale
Code the MouseHover e MouseL eventi di eave per il pulsante in questo modo:
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;
}
Credo che ti darà l'effetto visivo che stai cercando.
Assolutamente perfetto – motoDrizzt
Math.pow (vote_up, current_up_votes * 2) –
È possibile assegnare la proprietà BackgroundImage per il pulsante. È inoltre possibile utilizzare gli eventi OnMouseEnter e OnMouseExit per modificare lo sfondo in base alla richiesta.
WinForm non ha un pulsante Image a differenza dei Web Form. L'aggiunta di un'immagine a un pulsante normale è possibile, ma in alcuni casi non sta andando bene. Potrebbe essere necessario utilizzare un controllo a pulsante di terze parti come WinForm ImageButton o creare il proprio CustomControl.
Piccolo riassunto (Border, MouseDownBackColor, MouseOverBackColor)
FlatApperance
BorderColor
= Nero o quello che volete
BorderSize
= può essere impostato su 0
MouseDownBackColor
= Trasparente
MouseOverBackColor
= Transparent
Text
= nessuno
Per MouseDown:
private void button1_MouseDown(object sender, MouseEventArgs e) { // ImageList index value for the mouse down image. button1.ImageIndex = 2; }
Ho anche bisogno di un pulsante di immagine, ma ho voluto uno come il ToolstripMenuButton. Con i bordi e i colori corretti al passaggio del mouse. così ho fatto un controllo personalizzato a fare proprio questo:
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. Come rendere visibile il pulsante?
- 2. Come rendere il pulsante non trasparente?
- 3. Come rendere UITextView il pulsante "Fatto" resignFirstResponder?
- 4. Differenza tra il pulsante immagine e il pulsante
- 5. Immagine nel pulsante GWT
- 6. Pulsante Immagine in BlackBerry
- 7. Come rendere il funzionamento del pulsante (collegamento) come collegamento ipertestuale?
- 8. Impostazione metodo immagine pulsante
- 9. Come posso rendere selezionabile una casella immagine?
- 10. Pulsante WPF con immagine
- 11. Come rendere il pulsante trasparente nella mia app ancora visibile
- 12. Come impostare il testo del pulsante Immagine (Android)?
- 13. Come aggiungere un testo sotto il pulsante immagine in Android?
- 14. Come rendere scorrevole a pulsante in Android
- 15. Come rendere il secondo pulsante di NSAlert il pulsante di ritorno?
- 16. Come aggiungere immagine per pulsante in Android?
- 17. come codice un pulsante Immagine in PyQt?
- 18. Pulsante Annulla UISearchbar Immagine personalizzata
- 19. Pulsante Dimensioni immagine in Android
- 20. cambia immagine pulsante in android
- 21. Impostazione di un pulsante immagine in CSS - immagine: attivo
- 22. Cambia immagine di sfondo con il pulsante radio
- 23. Come rendere questo (vedi immagine) tipo di grafico in datagridview
- 24. JavaFX - crea pulsante personalizzato con immagine
- 25. Pulsante WinForms con immagine e testo
- 26. Come rendere la prima immagine più grande in Gridlayout?
- 27. Attivazione/attivazione del pulsante Immagine in Swing
- 28. Pulsante con immagine e testo centrato
- 29. Immagine per pulsante Annulla di UISearchBar
- 30. immagine diversa quando pulsante da storyboard sfruttato
Stai parlando di WinForms, WPF o ASP.NET? – Alxandr
Sto parlando di WinForms – Matthewj
Non sono così abile in WinForms, ma penso che puoi girare il bordo e lo sfondo su ImageButtons, e quindi, probabilmente c'è qualche evento per il mouseover o qualcosa del genere che puoi usare per cambiare il Immagine. – Alxandr