|  | 分類:[ASP.NET (C#)]
 
 いつもお世話になっております。
 pictureBox上に設定画面で設定した色でグラデーションをかけ、その上に
 labelを表示したいのですが
 labelを表示するとその背景がpictureboxのグラデーションの
 縮小された形になっています。
 labelの背景を透過させたいのですが
 どうしたらいいのか教えて下さい。
 
 labelの代わりに
 g.DrawStringで文字を書けば、解決はしますが
 時計を表示させたいのでtimerを使って毎秒時間を変える処理をしているのですが
 毎秒Refresh()をすると毎秒ちらつくのでpictureBox上にlabelを表示したいのです。
 
 
 
 private void Form2_Shown(object sender, EventArgs e)
 {
 label1.BackColor = Color.Transparent;
 label.Parent = pictureBox;
 }
 
 
 private void pictureBox_Paint(object sender, PaintEventArgs e)
 {
 // グラデーション処理
 Graphics  g = pictureBox1.CreateGraphics();
 LinearGradientBrush gb = new LinearGradientBrush(g.VisibleClipBounds, Color.DarkBlue, Color.Wheat, LinearGradientMode.Vertical);
 
 g.FillRectangle(gb, g.VisibleClipBounds);
 
 // Refresh();
 gb.Dispose();
 }
 
 void timer1_Tick(object sender, EventArgs e)
 {
 label1.Text = DateTime.Now.ToString();
 }
 
 |