Subclass Panel
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
public class ScrollingText : System.Windows.Forms.Panel {
Font textFont = new Font("Times New Roman", 24);
public ScrollingText() {
InitializeComponent();
}
private void ScrollingText_Paint(object sender, PaintEventArgs e) {
Graphics g = e.Graphics;
g.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y);
g.DrawString("Hello, World", textFont, Brushes.Black, 40, 40);
g.DrawString("Hello, World", textFont, Brushes.Red, 40, 240);
g.DrawString("Hello, World", textFont, Brushes.Blue, 350, 40);
g.DrawString("Hello, World", textFont, Brushes.Green, 350, 240);
}
private void InitializeComponent() {
this.SuspendLayout();
this.AutoScroll = true;
this.AutoScrollMinSize = new System.Drawing.Size(600, 400);
this.BackColor = System.Drawing.SystemColors.Window;
this.Paint += new System.Windows.Forms.PaintEventHandler(this.ScrollingText_Paint);
this.ResumeLayout(false);
}
}
public class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void InitializeComponent() {
this.scrollingText1 = new ScrollingText();
this.SuspendLayout();
this.scrollingText1.AutoScroll = true;
this.scrollingText1.AutoScrollMinSize = new System.Drawing.Size(600, 400);
this.scrollingText1.BackColor = System.Drawing.SystemColors.Window;
this.scrollingText1.Location = new System.Drawing.Point(13, 13);
this.scrollingText1.Size = new System.Drawing.Size(267, 243);
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(292, 268);
this.Controls.Add(this.scrollingText1);
this.ResumeLayout(false);
}
private ScrollingText scrollingText1;
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.Run(new Form1());
}
}
Related examples in the same category