2_C# 实现VMS客户端——使用DotNetBar 10.9.0.4控件库

本文介绍如何使用C#结合DotNetBar 10.9.0.4控件库创建美观的VMS客户端。探讨了第三方控件库的功能、稳定性,并对比了知名控件库DotNetBar和DevExpress,提供了DotNetBar的下载链接。

声明:

  • 本博客为原创博客,主要讲述使用C#语言调用服务端SDK方式完成VMS客户端完整功能实现,转载请声明出处。
  • 如有技术问题或需交流可直接联系本人邮箱:chuiwenwei@163.com

简述:

  • 在C/S架构设计下,客户端是直接面对用户的应用软件,所以好用好看与否就显的非常重要,虽然VS已经在不断的改进自己的WinForm控件库,但依然在很多方面看起来非常的不好用也不好看,那么在这种情况下对于开发者有多种选择方式去解决这个问题。最常见的就是使用第三方成熟的控件库或是使用皮肤等主题库,或是直接由开发者自己重绘WinForm控件库为自己想要的效果。三种各有利弊,本篇主要讲述使用第三方成熟的控件库来实现好用好看的效果。

目录:

  • 第三方控件库、主题和重绘控件
  • 知名.Net 第三方控件库
  • DotNetBar 10.9.0.4控件库简述
  • DotNetBar 10.9.0.4 控件库下载链接

1.第三方控件库的功能和稳定性

  • 不论使用哪种方式,最根本的永远是基于WinForm的控件库进行修改然后重绘实现我们想要的效果。这里主要谈论两个问题:

  • 功能

首先我们要确定我们需要哪些功能,比如控件点击、滑动等操作时动态改变效果,背景透明,丰富的Tab

# -*- coding: utf-8 -*- # @Time : 2025/07/10 # @Author : likunyu1@tp-link.com.hk import uuid from test_cases.vms_cloud import VMSCloudBaseTestCase from function.vms_cloud.vms_org_mgmt.vms_org_mgmt import * from function.vms_cloud.design_tool.design_tool import * ''' 用例描述: 1、 2、 3、 ''' class MyTestCase(VMSCloudBaseTestCase): def __init__(self): super().__init__() self.init_case_name_id(os.path.basename(__file__)) self.case_info.author = '' self.logger.info('start test: {}'.format(self.case_info.name)) self.session = self.get_session() self.vms_id = None self.project_id = None self.map_id = None self.unique_id = None def pre_test(self): self.vms_id = get_a_vms_id_with_devices(self.session) self.project_id = get_a_project_id(self.session, self.vms_id) self.map_id = get_a_map_id(self.session, self.vms_id, self.project_id) data = {"markerName": 'lb{0}'.format(uuid.uuid1())[:10],"markerType":"LABEL","coordinate":[375.1453504407401,-8.077292235078176],"label":{"description":""}} errorCode, message, result = add_marker(self.session, self.vms_id, self.project_id, self.map_id, data) self.check_result(errorCode, 0, '新增标记点') self.check_result(message, 'success.', '新增标记点') self.unique_id = result['uniqueId'] def do_test(self): data = {"coordinate":[-2.9973357015985584,114.39831261030429]} errorCode, message = edit_marker_v2(self.session, self.vms_id, self.project_id, self.map_id, self.unique_id, data) self.check_result(errorCode, 0, '编辑标记点v2') self.check_result(message, 'success.', '编辑标记点v2') def clean_test(self): errorCode, message = delete_marker_v2(self.session, self.vms_id, self.project_id, self.map_id, self.unique_id) self.check_result(errorCode, 0, '删除标记点') self.check_result(message, 'success.', '删除标记点') if __name__ == "__main__": test = MyTestCase() try: test.pre_test() test.do_test() test.clean_test() except Exception as e: test.export_test_result_when_catch_exception(e) raise e else: test.export_test_result()
最新发布
09-11
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值