簡體   English   中英

比較畫筆和顏色

[英]compare a brush and color

if (backBrush == SystemColors.ActiveCaption)

這失敗了。 說你無法比較畫筆和顏色。

如何找到畫筆的顏色?

如果backBrush是一個SolidColorBrush(基於你想要做的事情),你可以使用:

if(((SolidColorBrush)backBrush).Color == SystemColors.ActiveCaption)

如果畫筆是SolidBrush,您可以比較畫筆的Color成員。 像這樣的東西。

SolidBrush solidBrush = brush as SolidBrush;
if (solidBrush != null && solidBrush.Color == SystemColors.ActiveCaption)
{
  // ....
}

以上是針對WinForms的,對於WPF,你可以使用SolidColorBrush而不是SolidBrush。

Brush沒有顏色。

您可以使用 ColorBrush來填充/繪畫等。

有些畫筆確實有顏色( HatchBrush有兩種),所以你需要強制轉換為畫筆類型並比較顏色:

((HatchBrush)backBrush).BackgroundColor == SystemColors.ActiveCaption

您是否嘗試過SystemBrushes命名空間?

if (backBrush == SystemBrushes.ActiveCaption)
{...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM