using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
Dictionary<int, string[]> contentData;
PointF[] labelPos;
public Form1()
{
contentData = new Dictionary<int, string[]>();
GenerateData();
InitializeComponent();
}
void GenerateData()
{
labelPos = new PointF[]
{
new PointF(1.0f,0.0f),
new PointF(1.0f,30.0f),
new PointF(1.0f,60.0f),
new PointF(1.0f,90.0f),
new PointF(1.0f,120.0f)
};
contentData.Add(0, new string[] { "큰 글자^0", "작은글자^1", "마지막^0" });
contentData.Add(1, new string[] { "큰 글자^0", "작은글자^1", "마지막^1" });
contentData.Add(2, new string[] { "큰 글자^0", "작은글자^1", "마지막^0" });
contentData.Add(3, new string[] { "큰 글자^0", "작은글자^1", "마지막^0" });
contentData.Add(4, new string[] { "큰 글자^0", "작은글자^1", "마지막^0" });
}
private void tabPage1_Paint(object sender, PaintEventArgs e)
{
int id = 0, contentIndex = 0;
string content = contentData[id][contentIndex];
string contentNumber = "0";
int index = 0;
float stringSize = new float();
Font[] drawFonts = new Font[]
{
new Font("Arial", 16), new Font("Arial", 13)
};
SolidBrush drawBrush = new SolidBrush(Color.Black);
for (id = 0; id < contentData.Count; id++)
{
stringSize = 0;
for (contentIndex = 0; contentIndex < contentData[id].Length; contentIndex++)
{
stringSize += contentIndex == 0 ? 0f : e.Graphics.MeasureString(content, drawFonts[index]).Width;
content = contentData[id][contentIndex].Split('^')[0];
contentNumber = contentData[id][contentIndex].Split('^')[1];
index = int.Parse(contentNumber);
e.Graphics.DrawString(content, drawFonts[index], drawBrush, labelPos[id].X + stringSize, labelPos[id].Y);
}
}
}
}
}