Довольно простой вопрос, к сожалению, никогда не использовал элементы управления рисованием и т. Д. В C #, так что я не уверен, как на это смотреть.Хорошо, я рисую круговую диаграмму из набора текстовых полей для ввода и запускаю рисование по событию кнопки.мне нужно нарисовать диаграмму на одной из моих вкладок вместо фона.как мне это установить?вот мой код:
private void tempButton_Click(object sender, EventArgs e)
{
Rectangle tabArea;
RectangleF tabTextArea;
Bitmap B = new Bitmap(500, 500);
tabArea = tabControl1.GetTabRect(0);
tabTextArea = (RectangleF)tabControl1.GetTabRect(0);
using (Graphics g = Graphics.FromImage(B))
{
int i1 = int.Parse(textBox1.Text);
int i2 = int.Parse(textBox2.Text);
int i3 = int.Parse(textBox3.Text);
int i4 = int.Parse(textBox4.Text);
float total = i1 + i2 + i3 + i4;
float deg1 = (i1 / total) * 360;
float deg2 = (i2 / total) * 360;
float deg3 = (i3 / total) * 360;
float deg4 = (i4 / total) * 360;
Font font = new Font("Arial", 10.0f);
SolidBrush brush = new SolidBrush(Color.Red);
Pen p = new Pen(Color.Black, 2);
p.Width = 0.5f;
tabArea = new Rectangle(textBox1.Location.X + textBox1.Size.Width + 250, 150, 500, 500);
Brush b1 = new SolidBrush(Color.Gold);
Brush b2 = new SolidBrush(Color.Silver);
Brush b3 = new SolidBrush(Color.DarkOrange);
Brush b4 = new SolidBrush(Color.Black);
g.DrawRectangle(p, tabArea);
g.DrawPie(p, tabTextArea, 0, deg1);
g.FillPie(b1, tabArea, 0, deg1);
g.DrawPie(p, tabTextArea, deg1, deg2);
g.FillPie(b2, tabArea, deg1, deg2);
g.DrawPie(p, tabTextArea, deg2 + deg1, deg3);
g.FillPie(b3, tabArea, deg2 + deg1, deg3);
g.DrawPie(p, tabTextArea, deg3 + deg2 + deg1, deg4);
g.FillPie(b4, tabArea, deg3 + deg2 + deg1, deg4);
//set picturebox3 as data source??
pictureBox3.Image = B;
}
}
Как вы можете видеть, когда я нажимаю кнопку тестирования, она рисует график, но за моей областью вкладок мне нужно, чтобы он рисовал на одной из моих вкладок (у меня такое ощущение, что этосупер легкое 1line решение, но гугл не мой друг атм).Большое спасибо заранее!