SORU
22 NİSAN 2009, ÇARŞAMBA


C durumunu belirlemek rengini değiştirmek için nasıl*.NET 3.5?

İlerleme çubuğu üzerinde iki şey yapmak istiyorum.

  1. Kırmızı-yeşil renk değişikliği.
  2. Blokları kaldırmak ve tek renk.

Yüklemenin nasıl acaba bu iki şey greatfuly olacağı hakkında herhangi bir bilgi appreaciated!

Teşekkürler.

CEVAP
17 Mart 2012, CUMARTESİ


TAMAM, bana bir süre tüm cevaplar ve bağlantıları okumak için aldı. Onlardan neler bulduk:

Numune Sonuçları

Kabul cevabı görsel stiller devre dışı bırakır, istediğin bir şey için rengini ayarlamak için izin vermiyor, ama sonuç apaçık görünüyor:

enter image description here

Aşağıdaki yöntemi kullanarak, böyle bir şey yerine elde edebilirsiniz:

enter image description here

Nasıl

Eğer sığınak değil, bu şunlardır: using System.Runtime.InteropServices;

İkinci olarak, bu yeni bir sınıf oluşturmak veya static Genel olmayan varolan bir sınıfa kodu koyabilirsiniz:

public static class ModifyProgressBarColor
{
    [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
    static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr w, IntPtr l);
    public static void SetState(this ProgressBar pBar, int state)
    {
        SendMessage(pBar.Handle, 1040, (IntPtr)state, IntPtr.Zero);
    }
}

Şimdi, bunu kullanmak için tek yapmanız gereken çağrı:

ModifyProgressBarColor.SetState(progressBar1, 2);

SetState ikinci parametre, 1 = normal not (yeşil); 2 = hata (kırmızı); 3 = uyarı (sarı).

Umarım bu yardımcı olur!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Distractify

    Distractify

    1 Aralık 2011
  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • Jonathan D.

    Jonathan D.

    3 Kasım 2006