类似于AutoCAD的命令行中选择提示,让用户选择,或者输入一定信息的用户交互,idata也有用户交互。查阅了idata相关的交互函数,和AutoCAD相比,要稍微简单得多,函数的数量也少了很多。下面我们来看一些函数,以及了解函数的具体说明。如下表格所示。
函数 | 说明 |
iDataGetInt | 获取用户的整数数据输入 |
iDataGetPoint | 获取用户鼠标点击的点,可以实现拉框选择。 |
iDataGetReal | 获取用户的双精度浮点数据输入 |
iDataGetString | 获取用户的字符输入。 |
iDataGetSnapPoint() | 获取捕捉点的相关信息 |
iDataGetOrient | 函数通过第一个参数确定的坐标点和用户鼠标确定的另外一个坐标点构成线段。然后计算此线段和X轴的夹角,角度范围是0°-360° |
真正上属于交互的函数是前面的四个,而后面的两个不是。为此,这里提供了一个小例子,供学习使用。就内容而言是比较简单的。希望对大家有帮助。
using Southgis.iData;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace GetInfo
{
public class Class1
{
private iDataInterface iData = new iDataInterface();
public void getMsg() {
this.iData.iDataInitGet(0,"Y N");
string strout;
ErrorType e = this.iData.iDataGetString(0,"请输入:确定[Y],取消[N],或者其他",out strout);
if (e == ErrorType.eOk || e == ErrorType.eKWord)
{
MessageBox.Show("获取的字符是:" + strout, "信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
else {
MessageBox.Show("取消了选择。","信息",MessageBoxButtons.OK,MessageBoxIcon.Asterisk);
}
double num;
e = this.iData.iDataGetReal("请输入一个数值",out num);
if (e == ErrorType.eOk || e == ErrorType.eKWord)
{
MessageBox.Show("获取的数字是:" + strout, "信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
else
{
MessageBox.Show("取消了选择。", "信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
}
}
}
更多内容,微信扫二维码关注公众号