乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 53|回复: 3

狐哥,C#可以设置OSMODE 的值,那用代码可以设置个别的吗

[复制链接]

275

主题

808

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1909
发表于 2009-10-19 17:52:00 | 显示全部楼层 |阅读模式
自己做个枚举
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication2
{
    //相关数据查询Cad帮助,下面只是示例
    public enum OSMode
    {
        ByEnd = 1,
        ByMid = 2
    }
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            //设置
            OSMode osm = OSMode.ByEnd | OSMode.ByMid;
            if ((osm & OSMode.ByEnd) == OSMode.ByEnd)
            {
                MessageBox.Show("ByEnd");
                //去除ByEnd
                osm = osm ^ OSMode.ByEnd;
            }
        }
    }
}
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2009-10-19 18:15:00 | 显示全部楼层
类型:整数
保存位置:注册表
初始值: 4133
使用下列位码设置“对象捕捉”的运行模式:
0 NON(无)
1 END(端点)
2 MID(中点)
4 CEN(圆心)
8 NOD(节点)
16 QUA(象限点)
32 INT(交点)
64 INS(插入点)
128 PER(垂足)
256 TAN(切点)
512 NEA(最近点)
1024 QUI(快速)
2048 APP(外观交点)
4096 EXT(尺寸线)
8192 PAR(平行)
要指定多个对象捕捉方式,请输入各个位码值之和。例如,输入 3 指定“端点”(位码 1) 和“中点”(位码 2) 对象捕捉。输入 16383 指定全部对象捕捉方式。
使用状态行的“对象捕捉”按钮关闭对象捕捉模式,除了返回 OSMODE 的普通值,还将返回位码 16384 (0x4000)。这个附加值有助于开发人员编写 AutoCAD 应用程序并将此模式与“绘图设置”对话框关闭的对象捕捉模式区别开来。设置此位码值将关闭对象捕捉。在该位码值关闭时将 OSMODE 设置为其他值可以打开对象捕捉。
回复

使用道具 举报

1

主题

113

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
117
发表于 2009-10-19 18:54:00 | 显示全部楼层
Autocad用户手册中系统变量里面就有的,上面的就是复制Autocad用户手册的相关说明。
回复

使用道具 举报

1

主题

113

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
117
发表于 2009-10-19 18:56:00 | 显示全部楼层
完整的代码:)
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. namespace WindowsFormsApplication2
  10. {
  11.     public enum OSMode
  12.     {
  13.         None = 0,
  14.         End = 1,
  15.         Middle = 2,
  16.         Center = 4,
  17.         Node = 8,
  18.         Quadrant = 16,
  19.         Intersection = 32,
  20.         Insert = 64,
  21.         Pedal = 128,
  22.         Tangent = 256,
  23.         Nearest = 512,
  24.         Quick = 1024,
  25.         Appearance = 2048,
  26.         Extension = 4096,
  27.         Parallel = 8192
  28.     }
  29.     public partial class Form1 : Form
  30.     {
  31.         public Form1()
  32.         {
  33.             InitializeComponent();
  34.         }
  35.         private void Form1_Load(object sender, EventArgs e)
  36.         {
  37.             //设置端点、中点、插入点
  38.             OSMode osm =
  39.                 OSMode.End |
  40.                 OSMode.Middle |
  41.                 OSMode.Insert;
  42.             MessageBox.Show(osm.ToString());
  43.             //查询是否包含端点捕捉
  44.             if ((osm & OSMode.End) == OSMode.End)
  45.             {
  46.                 MessageBox.Show("ByEnd");
  47.                 //去除端点捕捉
  48.                 osm = osm ^ OSMode.End;
  49.                 MessageBox.Show(osm.ToString());
  50.             }
  51.         }
  52.     }
  53. }
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 16:03 , Processed in 1.503379 second(s), 71 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表