不太確定我是否愚蠢。什麼是網頁調色板小部件調用?該ColorDialog類帶來了另一個選擇器這不是我想要的Web調色板Winform
我看雖然網站,但大部分的調色板沒有網絡選擇器。 在此先感謝 [編輯:也許我應該改寫這個問題,我如何提出上述顏色選擇器?我不希望使用任何第三方插件,除了那些已經可以在VS]
不太確定我是否愚蠢。什麼是網頁調色板小部件調用?該ColorDialog類帶來了另一個選擇器這不是我想要的Web調色板Winform
我看雖然網站,但大部分的調色板沒有網絡選擇器。 在此先感謝 [編輯:也許我應該改寫這個問題,我如何提出上述顏色選擇器?我不希望使用任何第三方插件,除了那些已經可以在VS]
您可以使用RGB顏色
your_object_here.BackColor = Color.FromArgb(255, 210, 210);
your_object_here.ForeColor = Color.FromArgb(255,255,255);
但我想要的GUI顯示不同的顏色供用戶在運行時選擇。 – ishtarsg
我希望有人來了外的箱子的淨解。
如果沒有,你可以自己寫;這是一個對於初學者..:
public partial class WebColors : Form
{
public WebColors()
{
InitializeComponent();
}
public Color pick { get; set; }
private void WebColors_Load(object sender, EventArgs e)
{
var webColors =
Enum.GetValues(typeof(KnownColor))
.Cast<KnownColor>()
.Where(k => k >= KnownColor.Transparent && k < KnownColor.ButtonFace)
.Select(k => Color.FromKnownColor(k))
.OrderBy(c => c.GetHue())
.ThenBy(c => c.GetSaturation())
.ThenBy(c => c.GetBrightness()).ToList();
int cc = webColors.Count;
int n = (int)Math.Sqrt(cc) + 0;
int w = ClientSize.Width/(n) - 1;
Height = (n+1) * w + 90;
for (int i = 0; i < cc; i++)
{
Label lbl = new Label();
lbl.Text = "";
lbl.AutoSize = false;
lbl.Size = new Size(w - 1, w - 1);
lbl.BackColor = webColors[i];
lbl.BorderStyle = BorderStyle.FixedSingle;
lbl.Location = new Point(1 + w * (i % (n+ 1)) , w * (i/(n+1)));
lbl.Click += (ss, ee) =>
{
pick = lbl.BackColor;
lbl_colorName.Text = pick.Name;
};
Controls.Add(lbl);
}
}
private void cb_ok_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
this.Close();
}
private void cb_cancel_Click(object sender, EventArgs e)
{
this.Close();
}
}
您可以添加排序選項和開關的排序依據的條款..
我想我可以與微件「ColorListBox」位於下得到解決命名空間ActiproSoftware.WinUICore。它似乎來自Blend.BTW是混合第三方或從窗口? – ishtarsg