第一次编程序,结果发现设置用户控件属性时,设置控件的各线段之间的关系时出现了:相同属性的属性过程定义不一致,或属性过程包含可选参数,或无效的设置最后参数程序如下:
Public Property Let Line5(E2X1, E2Y1, D2X2, D2Y2)
Dim D2X2 As Integer, D2Y2 As Integer, E2X1 As Integer, E2Y1 As Integer
f = Sqr((E2X1 - D2X2) * (E2X1 - D2X2) + (E2Y1 - D2Y2) * (E2Y1 - D2Y2)) '设置line5的长
f = Sqr((B2X1 - D1X2) * (B2X1 - D1X2) + (B2Y1 - D1Y2) * (B2Y1 - D1Y2)) / 2
End Property
试过了还是不行,(E2X1, E2Y1)( D2X2, D2Y2)分别是line5的起、终点坐标
VB出现相同属性的属性过程定义不一致,或属性过程包含可选参数,或
答案:2 悬赏:0 手机版
解决时间 2021-04-06 09:34
- 提问者网友:愿为果
- 2021-04-05 15:56
最佳答案
- 五星知识达人网友:鱼芗
- 2021-04-05 16:10
E2X1, E2Y1, D2X2, D2Y2 是自定义过程的参数.应该在定义过程的时候定义,而不改在过程里面定义.
应该是:
Public Property Let Line5(D2X2 As Integer, D2Y2 As Integer, E2X1 As Integer, E2Y1 As Integer )
f = Sqr((E2X1 - D2X2) * (E2X1 - D2X2) + (E2Y1 - D2Y2) * (E2Y1 - D2Y2)) '设置line5的长
f = Sqr((B2X1 - D1X2) * (B2X1 - D1X2) + (B2Y1 - D1Y2) * (B2Y1 - D1Y2)) / 2
End Property
我只能说这个定义没错了,不会有错误提示(我测试过了),具体算法错误我没看.
算法的话,你的f赋值了两次,第二次把第一次覆盖...这里估计有问题,不知道你这个程序要做什么,最好说说程序的功能,这样才能帮你看看算法错误.
应该是:
Public Property Let Line5(D2X2 As Integer, D2Y2 As Integer, E2X1 As Integer, E2Y1 As Integer )
f = Sqr((E2X1 - D2X2) * (E2X1 - D2X2) + (E2Y1 - D2Y2) * (E2Y1 - D2Y2)) '设置line5的长
f = Sqr((B2X1 - D1X2) * (B2X1 - D1X2) + (B2Y1 - D1Y2) * (B2Y1 - D1Y2)) / 2
End Property
我只能说这个定义没错了,不会有错误提示(我测试过了),具体算法错误我没看.
算法的话,你的f赋值了两次,第二次把第一次覆盖...这里估计有问题,不知道你这个程序要做什么,最好说说程序的功能,这样才能帮你看看算法错误.
全部回答
- 1楼网友:归鹤鸣
- 2021-04-05 17:24
自己添加一个picture属性,然后在get和let函数里执行就行了.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯