上代码Point[,] pt=null;
try
{
pt= new Point[dat.Tables[0].Rows.Count, 2];
for (int i = 0; i < dat.Tables[0].Rows.Count; i++)
{
DataRow[] dr = dtb.Select("ID=" + dat.Tables[0].Rows[i][0].ToString());
DataRow[] drp = dtb.Select("ID=" + dat.Tables[0].Rows[i][1].ToString());
pt[i, 0] = new Point(Convert.ToInt32(dr[0][1]));
pt[i, 1] = new Point(Convert.ToInt32(drp[0][1]));
}
}dr[0][1]是有xy的point类型,但是我不会转成point类型,有谁能够帮我一下。
try
{
pt= new Point[dat.Tables[0].Rows.Count, 2];
for (int i = 0; i < dat.Tables[0].Rows.Count; i++)
{
DataRow[] dr = dtb.Select("ID=" + dat.Tables[0].Rows[i][0].ToString());
DataRow[] drp = dtb.Select("ID=" + dat.Tables[0].Rows[i][1].ToString());
pt[i, 0] = new Point(Convert.ToInt32(dr[0][1]));
pt[i, 1] = new Point(Convert.ToInt32(drp[0][1]));
}
}dr[0][1]是有xy的point类型,但是我不会转成point类型,有谁能够帮我一下。
pt[i, 1] = (Point)drp[0][1];如果没值那么就是pt[i, 0] = new Point(int.Parse(dr[0][1].ToString()), int.Parse(drp[0][1].ToString()));
Point pt = new Point(x,y);
System.Drawing.Point p = new System.Drawing.Point(1,1); System.Data.DataTable dt = new System.Data.DataTable();
DataColumn dc = new DataColumn();
dc.ColumnName = "Point";
dc.DataType = typeof(System.Drawing.Point);
dt.Columns.Add(dc); DataRow dr = dt.NewRow();
dr[0] = p;
dt.Rows.Add(dr);
主要看LZ的数据是怎么存储的!
是存的坐标还是POINT对象?
意思就是没有一个直接的方法将字符换"{X=1,Y=2}"转换为point
只能通过手动方法了:
point ToPoint(string str){
Match mat = Regex.Match(str, @"{X=(\d+),Y=(\d+)}", RegexOptions.IgnoreCase);
if(mat.Success) return new Point(int.Parse(mat.Groups[1].Value), int.Parse(mat.Groups[2].Value));
else return new Point(0,0);
}