#region 将数据添加到ListView
private void btntxtShow_Click(object sender, System.EventArgs e)
{
//从界面输入框里读取数据显示到ListView
string[] tmpx = this.txtDatax.Text.Split(',');
string[] tmpy = this.txtDatay.Text.Split(',');
if (tmpx.Length == tmpy.Length)
{
//创建ListView的主项
for (int i = 0; i < tmpx.Length; i++)
{
ListViewItem item = new ListViewItem(tmpx[i]);
//添加子项
item.SubItems.Add(tmpy[i]);
//把内容都添加进ListView
this.lvDataShow.Items.Add(item);
}
}
else
{
MessageBox.Show("请注意输入的X值与Y值相对应");
this.txtDatax.Focus();
this.txtDatay.Focus();
}
}
#endregion
#region 文本框内容绘图
private void btntxtDraw_Click(object sender, EventArgs e)
{
DrawXY(); //绘XY轴
DrawXLine(); //绘X轴分值线
DrawYLine(); //绘Y轴分值线
Graphics g = this.panel1.CreateGraphics();
int MaxX;
int MaxY;
MaxX = System.Convert.ToInt32(this.MaxX.Text);
MaxY = System.Convert.ToInt32(this.MaxY.Text);
string[] x = this.txtDatax.Text.Split(',');
string[] y = this.txtDatay.Text.Split(',');
int rows = x.Length;
PointF[] point = new PointF[rows];
for (int j = 0; j < rows; j++)
{
point[j] = new PointF(System.Convert.ToSingle(x[j]), (float)MaxY - System.Convert.ToSingle(y[j]));
}
Pen pen = new Pen(Color.Red, 1);
for (int K = 0; K < rows - 1; K++)
{
g.DrawLine(pen, point[K], point[K + 1]);
}
}
#endregion
#region 数据库内容添加到ListView
private void btndbShow_Click(object sender, EventArgs e)
{
//从数据库里面读取数据显示ListView
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=E:\\dbDataDraw.mdb");
OleDbDataAdapter da = new OleDbDataAdapter("Select X ,Y from tbDataDraw", conn);
DataSet ds = new DataSet();
da.Fill(ds, "tb");
int rows = ds.Tables["tb"].Rows.Count;
double[,] ar = new double[rows, 2];
int i = 0;
lvDataShow.Items.Clear();
for (i = 0; i < rows; i++)
{
ListViewItem item = new ListViewItem(ds.Tables["tb"].Rows[i][0].ToString());
//添加子项
item.SubItems.Add(ds.Tables["tb"].Rows[i][1].ToString());
//把内容都添加进ListView
this.lvDataShow.Items.Add(item);
}
}
#endregion
#region 数据库内容画图
private void btndbDraw_Click(object sender, EventArgs e)
{
DrawXY(); //绘XY轴
DrawXLine(); //绘X轴分值线
DrawYLine(); //绘Y轴分值线
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=E:\\dbDataDraw.mdb");
OleDbDataAdapter da = new OleDbDataAdapter("Select X ,Y from tbDataDraw", conn);
DataSet ds = new DataSet();
da.Fill(ds, "tb");
int rows = ds.Tables["tb"].Rows.Count;
int i = 0;
string[] x = new string[rows];
string[] y = new string[rows];
for (i = 0; i < rows; i++)
{
x[i] = ds.Tables["tb"].Rows[i][0].ToString();
y[i] = ds.Tables["tb"].Rows[i][1].ToString();
}
PointF[] point = new PointF[rows];
int MaxY;
MaxY = System.Convert.ToInt32(this.MaxY.Text);
//此循环用于得到Point
for (int j = 0; j < rows; j++)
{
point[j] = new PointF(System.Convert.ToSingle(x[j]), (float)MaxY - System.Convert.ToSingle(y[j]));
}
//将点连成折线
int R = rnd.Next(0, 255);
int G = rnd.Next(0, 255);
int B = rnd.Next(0, 255);
Pen pen = new Pen(Color.FromArgb(R, G, B), 1);
Graphics g = this.panel1.CreateGraphics();
for (int K = 0; K < rows - 1; K++)
{
g.DrawLine(pen, point[K], point[K + 1]);
}
}
#endregion
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnClear_Click(object sender, EventArgs e)
{
Graphics g = this.panel1.CreateGraphics();
g.Clear(Color.GreenYellow);
private void btntxtShow_Click(object sender, System.EventArgs e)
{
//从界面输入框里读取数据显示到ListView
string[] tmpx = this.txtDatax.Text.Split(',');
string[] tmpy = this.txtDatay.Text.Split(',');
if (tmpx.Length == tmpy.Length)
{
//创建ListView的主项
for (int i = 0; i < tmpx.Length; i++)
{
ListViewItem item = new ListViewItem(tmpx[i]);
//添加子项
item.SubItems.Add(tmpy[i]);
//把内容都添加进ListView
this.lvDataShow.Items.Add(item);
}
}
else
{
MessageBox.Show("请注意输入的X值与Y值相对应");
this.txtDatax.Focus();
this.txtDatay.Focus();
}
}
#endregion
#region 文本框内容绘图
private void btntxtDraw_Click(object sender, EventArgs e)
{
DrawXY(); //绘XY轴
DrawXLine(); //绘X轴分值线
DrawYLine(); //绘Y轴分值线
Graphics g = this.panel1.CreateGraphics();
int MaxX;
int MaxY;
MaxX = System.Convert.ToInt32(this.MaxX.Text);
MaxY = System.Convert.ToInt32(this.MaxY.Text);
string[] x = this.txtDatax.Text.Split(',');
string[] y = this.txtDatay.Text.Split(',');
int rows = x.Length;
PointF[] point = new PointF[rows];
for (int j = 0; j < rows; j++)
{
point[j] = new PointF(System.Convert.ToSingle(x[j]), (float)MaxY - System.Convert.ToSingle(y[j]));
}
Pen pen = new Pen(Color.Red, 1);
for (int K = 0; K < rows - 1; K++)
{
g.DrawLine(pen, point[K], point[K + 1]);
}
}
#endregion
#region 数据库内容添加到ListView
private void btndbShow_Click(object sender, EventArgs e)
{
//从数据库里面读取数据显示ListView
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=E:\\dbDataDraw.mdb");
OleDbDataAdapter da = new OleDbDataAdapter("Select X ,Y from tbDataDraw", conn);
DataSet ds = new DataSet();
da.Fill(ds, "tb");
int rows = ds.Tables["tb"].Rows.Count;
double[,] ar = new double[rows, 2];
int i = 0;
lvDataShow.Items.Clear();
for (i = 0; i < rows; i++)
{
ListViewItem item = new ListViewItem(ds.Tables["tb"].Rows[i][0].ToString());
//添加子项
item.SubItems.Add(ds.Tables["tb"].Rows[i][1].ToString());
//把内容都添加进ListView
this.lvDataShow.Items.Add(item);
}
}
#endregion
#region 数据库内容画图
private void btndbDraw_Click(object sender, EventArgs e)
{
DrawXY(); //绘XY轴
DrawXLine(); //绘X轴分值线
DrawYLine(); //绘Y轴分值线
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=E:\\dbDataDraw.mdb");
OleDbDataAdapter da = new OleDbDataAdapter("Select X ,Y from tbDataDraw", conn);
DataSet ds = new DataSet();
da.Fill(ds, "tb");
int rows = ds.Tables["tb"].Rows.Count;
int i = 0;
string[] x = new string[rows];
string[] y = new string[rows];
for (i = 0; i < rows; i++)
{
x[i] = ds.Tables["tb"].Rows[i][0].ToString();
y[i] = ds.Tables["tb"].Rows[i][1].ToString();
}
PointF[] point = new PointF[rows];
int MaxY;
MaxY = System.Convert.ToInt32(this.MaxY.Text);
//此循环用于得到Point
for (int j = 0; j < rows; j++)
{
point[j] = new PointF(System.Convert.ToSingle(x[j]), (float)MaxY - System.Convert.ToSingle(y[j]));
}
//将点连成折线
int R = rnd.Next(0, 255);
int G = rnd.Next(0, 255);
int B = rnd.Next(0, 255);
Pen pen = new Pen(Color.FromArgb(R, G, B), 1);
Graphics g = this.panel1.CreateGraphics();
for (int K = 0; K < rows - 1; K++)
{
g.DrawLine(pen, point[K], point[K + 1]);
}
}
#endregion
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnClear_Click(object sender, EventArgs e)
{
Graphics g = this.panel1.CreateGraphics();
g.Clear(Color.GreenYellow);
}
效果图: