Seria possível criar meu próprio icon para o messageBoxIcon, exemplo não tem um icon que representa um check com fundo verde, como poderia realizar se for possível?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Seria possível criar meu próprio icon para o messageBoxIcon, exemplo não tem um icon que representa um check com fundo verde, como poderia realizar se for possível?
Consegue sim, mas vai ser necessário criar a sua própria implementação da classe System.Windows.Forms.MessageBox com a imagem sendo importada pela classe Image, segue um exemplo:
using System;
using System.Drawing;
using System.Windows.Forms;
public static class MinhaMessageBox
{
public static DialogResult Show(string Texto, string Titulo, eBotoes Botoes, Image Icone)
{
MessageForm mensagem = new MessageForm();
message.Text = Titulo;
if (Image.Height < 0 || Image.Height > 64)
throw new Exception("Altura da imagem inválida, o tamanho deve ter entre 0 e 64 pixels.");
else if (Image.Width < 0 || Image.Width > 64)
throw new Exception("Largura da imagem inválida, o tamanho deve ter entre 0 e 64 pixels.");
else
{
message.picImage.Image = Icone;
message.lblText.Text = Texto;
switch (Botoes)
{
case eBotoes.OK:
message.btnYes.Visible = false;
message.btnNo.Visible = false;
message.btnCancel.Visible = false;
message.btnOK.Location = message.btnCancel.Location;
break;
case eBotoes.OKCancel:
message.btnYes.Visible = false;
message.btnNo.Visible = false;
break;
case eBotoes.YesNo:
message.btnOK.Visible = false;
message.btnCancel.Visible = false;
message.btnYes.Location = message.btnOK.Location;
message.btnNo.Location = message.btnCancel.Location;
break;
case eBotoes.YesNoCancel:
message.btnOK.Visible = false;
break;
}
if (message.lblText.Height > 64)
message.Height = (message.lblText.Top + message.lblText.Height) + 78;
return (message.ShowDialog());
}
}
public enum eBotoes
{
OK,
OKCancel,
YesNo,
YesNoCancel
}
}
Valeu de mais Celso. Obrigado.