当前位置: 北大青鸟学士后主页 > 在线教程 > .net > -> 文章内容

从有模式窗体中选择实体

发布: 2011-02-19 17:31 | 来源: 未知 | 编辑:北大青鸟学士后 | 查看: 次 |

  首先,我们需要创建一个窗体类。这个类是一个真实的窗体而不是我们在ModelessForm中创建的用户控件。

  1) 在工程中创建一个Windows窗体类。调用‘ModalForm’类。在窗体中加入以下所示的三个编辑框控件和标签控件以及两个按钮。

  使用属性窗口来设置三个编辑框的属性。设置如下:

  <首先是最上面的编辑框>

  (Name) = tb_Name

  Text = <空白>

  <第二个编辑框>

  (Name) = tb_Division

  Text = <空白>

  <第三个编辑框>

  (Name) = tb_Salary

  Text = <空白>

  <上部的按钮>

  (Name) = SelectEmployeeButton

  Text = Select Employee

  <下部的按钮>

  (Name) = Close

  Text = Close

  接下来创建按钮的事件处理函数。‘Close’按钮可以只简单地调用:

  this.Close();

  要显示对话框,让我们在类中创建一个把窗体实例化为有模式对话框的命令函数。下面的实现的代码:

  [CommandMethod("MODALFORM")]

  public void ShowModalForm()

  { ModalForm modalForm = new ModalForm();

  Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog(modalForm);

  }

  编译、装载并在AutoCAD中运行MODALFORM命令来看看对话框是否可以工作。试试在对话框的右下角调整对话框的大小,然后关闭它。注意,重新使用MODALFORM命令时,对话框会出现在你上次离开的地方!这是ShowModalDialog方法的一个特征。大小和位置值被AutoCAD保存了。

  ‘Select Employee’按钮首先将执行一个简单的实体选择。这我们可以通过使用Editor.GetEntity()方法来实现,选择单一的实体比使用选择集来得方便的多。下面是怎样使用这个方法的代码:

  PromptEntityOptions prEnt = new PromptEntityOptions("Select an Employee");

  PromptEntityResult prEntRes = ed.GetEntity(prEnt);

  16)把上面的代码加入到SelectEmployeeButton_Click处理函数中,还要加入必需的数据库、命令行、事务处理设置变量和一个try catch块。不要忘了在finally块中销毁它们。

  使用PromptStatus.OK来测试GetEntity的返回值,如果返回不等于,就调用this.Show并退出处理函数。

  一旦我们获得的返回值是OK,那么我们就可以使用PromptEntityResult.ObjectId()方法来获取所选实体的object Id。这个id可以和一个固定的字符串数组被传入到AsdkClass1.ListEmployee函数中来获取雇员的详细信息。可以通过以下的代码说明:

  ArrayList saEmployeeList = new ArrayList();

  AsdkClass1.ListEmployee(prEntRes.ObjectId, saEmployeeList);

  if (saEmployeeList.Count == 4)

  { tb_Name.Text = saEmployeeList[0].ToString();

  tb_Salary.Text = saEmployeeList[1].ToString();

  tb_Division.Text = saEmployeeList[2].ToString();

  }

  2) 加入上面的代码,它会在窗体的编辑框中显示雇员的详细信息。

  在开始测试代码之前,我们还要记住的是代码是在有模式对话框中运行的,也就意味着当对话框可见的时候用户与AutoCAD的互操作是被禁止的。在用户能够进行选择雇员对象之前,我们必须隐藏窗体。当选择结束后,我们可以再次站窗体显示(例如,可以在finally块的函数中)

  3) 在选择之前加入隐藏窗体的代码(例如在try块之前) ‘this.Hide’ 和选择结束后显示窗体的代码(例如,可以在finally块中)‘this.Show’。

  编译、装载并在AutoCAD中运行MODALFORM命令来看看对话框是否工作。试试选择一个实体并填充窗体中编辑框的值。

温馨提示:如果您对北大青鸟的学费、专业设置、就业推荐有任何疑问,可以咨询"400-9679-776"与老师沟通!
相关阅读:
  北大青鸟开班信息

11月05日 S1脱产 热招
11月10日 S1脱产 热招
11月12日 S1脱产 热招
11月17日 S1脱产 热招
11月22日 S1业余 热招
订座,报名

  北大青鸟在线报名
   姓 名:  *
 联系电话:  *
 qq:  *
 验证码:
E-mail:
 
  北大青鸟免费讲座
讲座日期: 本周六 点击抢座
讲座时间: 下午1点30分
讲座地点: 北大青鸟华腾校区
主讲老师: 王老师 金牌讲师
讲座主题: 网络安全
讲座内容: 检测、防御、黑客信息,如何过滤不安全的网站,如何防御黑客的进攻。
订座电话: 010-82462067/2167