2010-04-12 2 views
3

Я делаю простую форму с двумя полупрозрачными текстами , и я помещаю его в событие рисования. только, когда я расширяю форму, тексты становятся темнее и зернисто. actualy Я хочу более темный цвет, но не зернистый эффект.visual C# - onPaint и прозрачность

вот мой фрагмент кода:

private void sbfToolBox_Paint(object sender, PaintEventArgs e) 
{ 
    System.Drawing.Graphics formGraphics = this.CreateGraphics(); 
    formGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; 
    string drawString = "tekst"; 
    System.Drawing.Font drawFont = new System.Drawing.Font("Arial", 50); 
    Color color_red = Color.FromArgb(30, 100, 0, 0); 
    Color color_cyan = Color.FromArgb(30, 0, 100, 100); 
    System.Drawing.SolidBrush brush_red = new System.Drawing.SolidBrush(color_red); 
    System.Drawing.SolidBrush brush_cyan = new System.Drawing.SolidBrush(color_cyan); 
    float x = 0.0F; 
    float x2 = 20.0F; 
    float y = 50.0F; 
    formGraphics.DrawString(drawString, drawFont, brush_red, x, y); 
    formGraphics.DrawString(drawString, drawFont, brush_cyan, x2, y); 
    drawFont.Dispose(); 
    brush_red.Dispose(); 
    brush_cyan.Dispose(); 
    formGraphics.Dispose(); 
}  

заранее спасибо

ответ

2

Использование графического объекта из PaintEventArgs.

Изменить

System.Drawing.Graphics formGraphics = this.CreateGraphics(); 

Для

System.Drawing.Graphics formGraphics = e.Graphics; 

И удалить

formGraphics.Dispose(); 
+0

спасибо, но у меня есть немного другой вопрос, я сделал функцию для вызова с помощью кнопки, но в функции мне нужна e.Graphics, как мне создать новую? – ecross

Смежные вопросы