VS2022(Visual Studio 2022)是微软推出的一款集成开发环境(IDE),其64位版本专为高性能的开发需求而设计。作为C#开发软件的重要工具之一,VS2022支持.NET和.NET Core平台,提供了一个强大的编程环境,使开发者能够高效地编写、调试和发布应用程序。 VS2022 64位安装包是针对64位操作系统优化的版本,它能够更好地利用系统的内存资源,提高开发效率和应用程序的运行速度。该版本的Visual Studio安装包支持多种开发语言,包括但不限于C#、VB.NET、F#、C++以及支持多种应用类型,比如Windows桌面应用、Web应用、移动应用和云服务等。 在使用VS2022安装包进行安装时,用户可以根据个人需求选择安装不同的组件和工作负载。安装程序提供了一系列可定制的安装选项,如Web开发、数据存储和处理、桌面开发、移动开发、云计算开发等。此外,VS2022还引入了“仅安装Visual Studio生成引擎”的选项,允许开发者快速地为生成过程创建轻量级的安装。 VS2022的更新和改进是它的一大亮点。新版本引入了性能改进、更灵活的工作区布局、更智能的代码编辑器、改进的调试工具、增强的团队协作功能等。例如,Visual Studio 2022提供了对.NET 5和.NET 6的完整支持,确保开发者能够利用最新的.NET框架进行应用开发。它还引入了“Visual Studio Live Share”,允许开发者实时共享代码编辑会话,进行代码协作和交流。 随着云计算和容器技术的发展,VS2022也增强了对这些技术的支持。开发者可以更轻松地部署、调试和优化运行在云平台和容器中的应用程序。VS2022的内置容器工具使得构建和管理Docker容器变得更为简单。它还集成了Azure DevOps服务,帮助开发者管理源代码、自动化构建、测试以及部署流程。 VS2022支持使用扩展来增加功能。Visual Studio Marketplace提供了丰富的扩展,从编程语言支持到工具集成,开发者可以按照个人喜好和项目需求进行选择和安装。 此外,VS2022针对用户界面进行了优化,提供了更加现代化和清晰的视觉体验。代码编辑器的改进使得代码阅读和编写更加高效。开发者可以利用代码片段、智能感知、代码导航等功能,加快编码速度和准确性。 值得注意的是,VS2022的安装和配置过程可能需要用户具备一定的计算机基础知识,以确保正确安装所需的依赖项和配置开发环境。一旦安装成功,VS2022将为开发者提供一个功能全面的开发平台,极大地提高开发效率和应用程序质量。 VS2022安装包64位版本是一个功能强大且易于使用的开发工具,它为C#等编程语言的开发提供了一个现代化、高效率的平台。无论是初学者还是经验丰富的开发者,都能从中受益,以实现快速开发和高质量代码的编写。
2026-03-05 13:44:55 4.06MB c#开发软件
1
内容概要:本文深入探讨了如何利用C#语言对海德汉530编码器进行数据采集,特别是通过LSV2协议的免授权TCP通讯方式。文中不仅讲解了必要的理论背景,还给出了详细的代码实例,包括TCP连接的建立、数据读取的基本流程,以及针对LSV2协议的数据解析思路。尽管具体的协议细节未完全展开,但已足够让开发者理解并着手实现自己的解决方案。 适合人群:从事工业自动化领域的软件工程师和技术人员,尤其是那些希望掌握更多关于C#在工业设备通信方面应用的人士。 使用场景及目标:适用于需要从海德汉530编码器获取实时数据的应用场合,比如生产线监控系统或者质量控制系统。通过本篇文章的学习,读者可以学会如何构建一个完整的数据采集系统,从而提高生产效率和产品质量。 其他说明:虽然文中提供的代码片段已经能够满足大部分应用场景的需求,但在实际项目中,开发者还需根据具体情况调整参数设置,确保最佳性能。同时,对于更复杂的协议解析任务,则需要参考官方文档或其他专业资料。
2026-03-03 09:58:07 390KB 数据采集
1
在C# WinForm应用开发中,常常需要与服务器进行数据交互,这通常通过WebService接口来实现。本主题将深入探讨如何在WinForm中利用WebService接口连接服务器,进行图片的上传和下载操作。以下是对这个主题的详细阐述: 一、WebService接口理解 WebService是一种基于XML的Web应用程序接口,它允许不同系统之间的数据交换。在C#中,可以使用ASMX或WCF(Windows Communication Foundation)服务来创建WebService接口。 二、C# WinForm简介 C# WinForm是.NET框架提供的一种用于构建桌面应用程序的工具,它提供了一个丰富的用户界面设计环境,支持事件驱动编程模型。 三、连接WebService接口 1. 引用WebService:在WinForm项目中添加对WebService的引用,可以通过"项目" -> "添加Web引用",输入WebService的URL,然后添加到解决方案中。 2. 生成客户端代理类:添加引用后,Visual Studio会自动生成一个客户端代理类,通常是ServiceNameClient,包含了所有可用的方法。 四、上传图片 1. 创建上传方法:在WinForm中,创建一个按钮或菜单项,绑定点击事件。在事件处理函数中,实现图片上传的逻辑。 2. 选择图片:使用OpenFileDialog控件让用户选择要上传的图片文件。 3. 转换为Byte数组:读取图片文件并转换为Byte数组,以便通过WebService接口发送。 4. 调用WebService接口:使用生成的客户端代理类,调用对应的UploadImage方法,传入图片的Byte数组和其他必要参数(如文件名、描述等)。 五、下载图片 1. 创建下载方法:同样在WinForm中,创建一个按钮或菜单项,绑定点击事件,实现图片下载的逻辑。 2. 获取图片信息:在事件处理函数中,先调用WebService接口的GetImageInfo方法,获取图片的ID或其他唯一标识。 3. 下载图片:调用DownloadImage方法,传入图片的ID,接口会返回一个包含图片数据的Byte数组。 4. 保存图片:将接收到的Byte数组写入本地文件,完成图片的下载。 六、异常处理与进度显示 在上传和下载过程中,应加入异常处理机制,捕获可能发生的网络错误、文件I/O错误等,并提供友好的错误提示。此外,为了提高用户体验,可以添加进度条控件,显示上传或下载的进度。 七、安全性与性能优化 确保在传输过程中对敏感信息(如用户名、密码)进行加密。对于大文件的上传和下载,可以考虑分块传输,以减少内存占用和提高效率。 C# WinForm中的WebService接口连接服务器上传和下载图片,涉及到了文件操作、网络通信、数据转换等多个技术环节。理解并熟练掌握这些技术,能帮助开发者构建出高效、稳定且功能丰富的桌面应用程序。
2026-02-27 19:13:58 542KB
1
在本文中,我们将深入探讨如何在C#编程环境中与HALCON图像处理引擎进行联合编程,以便充分利用HALCON的强大功能。HALCON是由MVTec公司开发的一款广泛应用的机器视觉软件,它提供了丰富的形状匹配、模板匹配、1D/2D码识别、测量、检测等算法。C#作为.NET框架的一部分,具有广泛的应用场景,可以与HALCON引擎完美结合,为自动化和机器视觉项目提供强大的支持。 为了在C#中调用HALCON引擎,你需要安装HALCON的.NET接口。这个接口提供了C#开发者所需的所有类和方法,以便在代码中直接操作HALCON的核心功能。确保你的HALCON安装包含.NET组件,并且已正确配置。 在C#中使用HALCON的第一步是引入相关的命名空间。在你的代码顶部添加以下引用: ```csharp using HalconDotNet; ``` 接下来,创建一个`HInstance`对象,这将作为与HALCON引擎交互的主要接口。`HInstance`代表了HALCON运行时环境的一个实例,可以通过以下方式初始化: ```csharp HInstance hHalcon = new HInstance(); ``` 一旦有了`HInstance`对象,你可以加载所需的HALCON算子(operators)。例如,如果你需要进行模板匹配,可以加载`match_template`算子: ```csharp HTuple hOperators = new HTuple(new string[] { "match_template" }); hHalcon.LoadOperators(hOperators); ``` 现在,你可以开始执行图像处理任务。比如,读取图像并进行模板匹配: ```csharp // 读取图像 HImage hImage = HImage.FromFile("input.jpg"); // 创建模板图像 HImage hTemplate = HImage.FromFile("template.png"); // 设置匹配参数 HParamSet hParamSet = new HParamSet(); hParamSet.AddInt("similarity", 80); // 执行匹配 HTuple hvMatches; hHalcon.MatchTemplate(hImage, hTemplate, hParamSet, out hvMatches); ``` 在上面的例子中,我们读取了一个名为`input.jpg`的图像和一个模板`template.png`,然后设置匹配相似度阈值为80%,最后执行模板匹配并获取匹配结果。 处理完结果后,记得释放资源: ```csharp hImage.Dispose(); hTemplate.Dispose(); hParamSet.Dispose(); ``` 为了更好地组织代码,你还可以创建自定义的C#类封装HALCON的特定功能,如模板匹配、形状匹配等。这样可以提高代码的可读性和可维护性。 此外,HALCON还支持多线程操作,可以在多个线程中并行处理图像,以提高效率。但要注意,每个线程都需要自己的`HInstance`对象。 C#与HALCON的联合编程允许开发者利用C#的强大开发工具和HALCON的先进视觉算法,实现高效、灵活的机器视觉解决方案。通过熟悉HALCON的.NET接口和C#编程,你可以构建出满足各种需求的自动化系统。在实际项目中,务必根据具体需求调整代码,并进行充分的测试,以确保系统的稳定性和性能。
2026-02-27 15:03:02 418KB 编程语言
1
SOLIDWORKS作为一款功能强大的三维CAD设计软件,广泛应用于产品设计、工程分析和制造领域。在工程图的制作过程中,精确的标注是确保产品尺寸正确传达给生产环节的重要步骤。然而,手动标注工程图往往耗时且容易出错,因此,SOLIDWORKS工程图标注自动化的需求应运而生。 在本示例中,我们通过编程调用SOLIDWORKS软件的软件开发工具包(SDK)实现工程图标注的自动化,开发语言为C#,开发框架基于.net framework 4.8,使用的软件版本是2022 SP5.0。这一实现方式不仅能够提升工程师的工作效率,还能通过编程实现复杂和重复性的标注任务,确保标注的一致性和准确性。 自动化标注的实现涉及到SOLIDWORKS的API编程,即通过编程接口与SOLIDWORKS软件进行交互,执行各种操作,包括但不限于创建新文档、读取和修改现有文件、以及自动化标准的工程图创建流程。在本示例中,我们将通过编写C#代码来控制SOLIDWORKS进行一系列的标注操作,例如尺寸标注、公差标注、注释添加等。 C#作为.NET平台的核心编程语言之一,拥有良好的跨平台能力、强大的功能库支持以及出色的运行效率,非常适合用于开发这种类型的自动化工具。开发者在熟悉.NET框架的基础上,通过调用SOLIDWORKS SDK提供的类和方法,可以在Visual Studio等集成开发环境中创建插件或者应用程序,实现工程图标注的自动化。 在.NET framework 4.8框架下,开发者能够利用其提供的各种高级功能,如异步编程模型、LINQ查询、泛型集合等,编写更为高效和易于维护的代码。此外,.NET framework 4.8的兼容性也确保了在不同的操作系统版本上,如Windows 10或Windows 11,都能够稳定运行开发的自动化工具。 软件版本2022 SP5.0是SOLIDWORKS的较新版本,它提供了众多改进和新功能,包括用户界面的优化、性能的提升、以及对最新硬件的支持等。这些改进不仅使得软件本身的使用更为流畅,也为开发者提供了更丰富的API接口和更高的开发效率。 本示例通过展示如何使用C#语言和SOLIDWORKS SDK开发工具包,在.NET framework 4.8框架和SOLIDWORKS 2022 SP5.0软件环境下实现工程图标注的自动化,旨在指导有工程图制作需求的工程师或开发者如何通过编程提升工作效率,减少重复性工作,确保设计信息准确无误地传达给生产环节。
2026-02-26 20:20:53 1.9MB
1
在C#中开发Windows Forms(WINFORM)应用时,实现多国语言的界面切换是一项常见的需求,这可以提升软件的国际化水平,使软件能够适应不同国家和地区用户的使用习惯。本教程将详细介绍如何通过XML配置来实现这一功能。 我们需要理解多国语言支持的基本原理。在软件中,我们通常会为每一种语言创建一个资源文件,存储对应语言的界面文本。在C#中,我们可以使用.resx文件来存储这些文本,但在这里我们将使用XML文件作为替代,因为XML文件更便于手动编辑和维护。 1. 创建XML语言文件:在项目中,为每种支持的语言创建一个XML文件,例如`zh-CN.xml`(中文)、`en-US.xml`(英文)等。每个文件将包含一系列的键值对,键是界面上的标识符,值是对应语言的文本。 ```xml 欢迎使用! 取消 ``` 2. 设计XML结构:XML文件的结构应当保持一致,方便程序读取。每个XML文件都应包含一个根元素`Resources`,并在其中定义多个`String`子元素,每个`String`元素代表一个界面上的文本。 3. 编写代码读取XML:在C#代码中,我们需要编写函数来读取XML文件并获取对应的字符串。使用`XDocument`或`XmlDocument`类可以方便地解析XML文件。以下是一个简单的示例: ```csharp using System.Xml.Linq; public string GetStringFromXML(string languageCode, string key) { string filePath = $"Resources/{languageCode}.xml"; XDocument doc = XDocument.Load(filePath); return doc.Root.Element(key).Value; } ``` 4. 绑定控件文本:在WinForm的每个控件(如Label、Button等)上,设置一个唯一的ID,然后在代码中根据ID从XML文件中获取对应的文本,并赋值给控件的Text属性。例如: ```csharp string welcomeMessage = GetStringFromXML("zh-CN", "WelcomeMessage"); labelWelcome.Text = welcomeMessage; ``` 5. 实现语言切换:为了实现语言切换,需要添加一个下拉框(ComboBox)让用户选择语言,然后在下拉框的SelectedIndexChanged事件中更新所有控件的文本。确保在事件处理函数中加载新的XML文件并重新绑定文本。 ```csharp private void comboBoxLanguage_SelectedIndexChanged(object sender, EventArgs e) { string selectedLanguage = comboBoxLanguage.SelectedItem.ToString(); foreach (Control control in this.Controls) { if (control is Label || control is Button) { string id = control.Name; string text = GetStringFromXML(selectedLanguage, id); control.Text = text; } } } ``` 6. 初始化界面:在程序启动时,根据系统默认语言或用户设置的语言加载相应的XML文件,并初始化界面文本。 7. 考虑本地化:为了让程序更好地适应不同语言的显示习惯,还需考虑文本的右对齐、日期格式、数字格式等问题。可以使用.NET Framework提供的`CultureInfo`类来处理这些细节。 通过以上步骤,你可以实现一个基本的基于XML配置的多国语言切换功能。请注意,实际项目中可能需要处理更多复杂情况,如处理未找到对应语言文本的情况、优化性能等。此外,为了便于管理,可以将XML文件和资源管理的代码封装到单独的类库中,以供多个项目复用。
2026-02-26 09:17:19 48KB WINFORM XML
1
sony SDK基于C#的工程,使用VS打开即可使用
2026-02-25 16:18:19 2.31MB sony
1
在C#编程中,HttpWebRequest和HttpWebResponse是.NET Framework提供的一对类,用于处理HTTP请求和响应。这两个类是System.Net命名空间的一部分,允许开发者发送HTTP请求并接收服务器的响应,进行网页抓取、数据交互等操作。下面将详细介绍这两个类的使用方法以及一些常见应用场景。 1. **HttpWebRequest类**: - 创建HttpWebRequest对象:通过WebRequest.Create(url)静态方法创建,传入你要访问的URL。 - 设置请求属性:你可以设置HttpWebRequest的多个属性,如Method(GET或POST)、Accept、ContentType、UserAgent等,来定制请求行为。 - 发送数据:对于POST请求,可以通过GetRequestStream()获取上传数据的流,并用StreamWriter写入数据。 - 获取响应:调用GetResponse()方法获取HttpWebResponse对象。 2. **HttpWebResponse类**: - 响应获取:HttpWebRequest的GetResponse()方法返回一个HttpWebResponse实例,代表服务器的响应。 - 读取响应数据:通过GetResponseStream()获取响应的流,然后使用StreamReader读取数据,通常用于读取HTML文档、JSON数据等。 - 关闭资源:使用using语句确保HttpWebResponse和StreamReader在使用完毕后被正确关闭和释放。 3. **示例代码**: - GET请求: ```csharp public static string GetUrlToHtml(string url) { WebRequest request = WebRequest.Create(url); using (WebResponse response = request.GetResponse()) using (StreamReader reader = new StreamReader(response.GetResponseStream())) { return reader.ReadToEnd(); } } ``` - POST请求: ```csharp public string PostData(string url, string postData, string encoding) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; byte[] data = Encoding.UTF8.GetBytes(postData); request.ContentLength = data.Length; using (Stream stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding))) { return reader.ReadToEnd(); } } ``` 4. **证书验证**: - 如果需要访问需要SSL证书验证的网站,可以重写CheckValidationResult方法,始终接受证书,但这可能导致安全问题。在实际应用中,应谨慎处理证书验证。 5. **其他注意事项**: - 错误处理:上述示例中使用try-catch捕获异常,但实际应用中可能需要更具体的错误处理策略。 - 编码处理:在读取网页内容时,需要指定正确的字符编码,否则可能导致乱码。 - Cookie管理:如果需要处理Cookie,可以使用CookieContainer类与HttpWebRequest关联,以保持会话状态。 6. **扩展应用**: - 使用HttpWebRequest和HttpWebResponse还可以实现文件上传下载、自定义HTTP头、超时控制等功能。 - 对于更复杂的HTTP操作,可以考虑使用HttpClient类,它是.NET Framework 4.5及更高版本中推荐的API,提供了更简洁、易用的接口。 HttpWebRequest和HttpWebResponse是C#中处理HTTP请求的核心类,它们为开发者提供了底层的网络通信能力,可以满足大部分HTTP相关的任务需求。了解并熟练使用这两个类,是进行Web开发的基础。
1
在C#编程中,模拟用户登录是一个常见的任务,特别是在自动化测试、数据抓取或API交互等场景。本篇文章将详细讲解如何使用`HttpWebRequest`和`HttpWebResponse`这两个类来模拟登录艺龙旅游网。我们需要理解模拟登录的基本流程: 1. **数据收集**:使用浏览器的开发者工具(如Chrome的F12或Firefox的Developer Tools)来观察登录过程,了解登录URL、请求方法(通常是POST)、表单数据(包括用户名、密码、验证码等)以及请求头中的重要信息。 2. **获取验证码**:登录时通常需要验证码,这涉及到对服务器的额外请求以获取验证码图片,并可能需要处理验证码的识别。这里的代码示例假设验证码已经获取并存储在变量`vaildate`中。 3. **构造请求**:使用`HttpWebRequest`创建一个到登录URL的POST请求。设置请求的方法、内容类型、用户代理等属性,以尽可能模仿真实浏览器的行为。 4. **处理Cookie**:`CookieContainer`用于存储和管理请求过程中的Cookie。在登录过程中,通常需要保存从登录页面获取的预登录Cookie,以便在后续的POST请求中携带。 5. **发送数据**:将用户名、密码、验证码等表单数据编码为字节流,然后写入请求的输入流。这里使用`GetRequestStream()`方法获取到可以写入数据的流,并通过`Write()`方法发送数据。 6. **接收响应**:使用`HttpWebResponse`对象接收服务器的响应。这通常包括验证是否成功登录的信息,可以通过读取响应的状态码、响应头或者读取响应体的内容来判断。 下面是一个简化的C#代码示例,展示了上述步骤: ```csharp using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web; using System.Net; using System.IO; namespace HTTPHELPER { public class ELOGN_LOGIN { public static CookieContainer container = new CookieContainer(); // 存储验证码cookie public string RequestLogin(string uName, string passwd, string vaildate) { try { using (var request = (HttpWebRequest)WebRequest.Create("https://secure.elong.com/passport/ajax/elongLogin")) { request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"; request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"; request.AllowAutoRedirect = true; request.CookieContainer = container; request.KeepAlive = true; var postData = $"userName={uName}&passwd={passwd}&validateCode={vaildate}&rememberMe=true"; var encoding = new ASCIIEncoding(); var data = encoding.GetBytes(postData); request.ContentLength = data.Length; using (var stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } using (var response = (HttpWebResponse)request.GetResponse()) { // 这里可以处理登录后的响应,例如检查状态码、读取响应内容等 } } } catch (Exception ex) { Console.WriteLine($"登录过程中发生错误:{ex.Message}"); } } } } ``` 这个示例代码中,`RequestLogin`方法接收用户名、密码和验证码作为参数,创建并发送POST请求。请注意,实际应用中还需要处理登录失败的情况,例如检查响应状态码或解析响应内容来确认登录是否成功。此外,验证码的获取和处理通常需要额外的逻辑,这里未包含在示例中。 总结来说,使用`HttpWebRequest`和`HttpWebResponse`模拟用户登录的关键在于正确构造HTTP请求,包括正确的URL、方法、内容类型、表单数据以及请求头,同时管理好Cookie以保持会话状态。在实际操作中,可能还需要处理重定向、处理登录后的页面、异常处理以及可能的反爬虫机制。通过这种方式,你可以构建一个自定义的登录客户端,实现对网站的自动化访问。
2026-02-25 09:02:17 128KB HttpWebRequest HttpWebResponse 用户登录
1
在C#中操作Windows Forms应用程序时,DataGridView是一个常用且功能强大的控件,允许开发者以表格形式展示数据。在原始的DataGridView控件中,虽然可以显示和编辑数据,但缺乏内置的列统计功能。为了满足开发中的各种需求,技术人员通过重写DataGridView控件,实现了添加统计功能的需求,这些统计功能包括但不限于求和、计算平均值、获取最大值、最小值以及计数统计等。 在实际开发场景中,数据的统计分析是非常常见且重要的需求。特别是在处理大量数据时,需要快速地对数据进行分类汇总和分析。传统方式下,开发者可能需要手动编写额外的代码逻辑来实现这些统计功能,这无疑增加了开发难度和程序的复杂度。通过重写DataGridView控件,开发者可以更加直观和高效地在用户界面上展示统计结果。 求和功能允许开发者快速获取数据列中的数值总和,这对于财务报告、库存管理等场景特别有用。平均值功能则提供了一个衡量数据集整体水平的指标,它能够帮助用户了解数据的总体趋势。最大值和最小值功能则分别用于确定数据集中存在的极端值,这对于异常检测和性能分析非常关键。计数功能则用于统计数据列中非空值的数量,它可以帮助开发者快速了解数据的完整性和有效性。 为了实现这些统计功能,重写DataGridView控件时需要考虑多个方面。首先是在控件内部数据结构的设计上,需要能够存储和跟踪统计数据。在UI的表现形式上,通常会通过增加一个额外的汇总行或者列的方式来显示统计数据。此外,还需要考虑用户交互,比如是否允许用户选择特定的统计类型以及如何响应用户的操作来更新统计数据。 针对不同的统计类型,开发者还需要编写相应的算法来确保准确性和效率。例如,在计算平均值时,需要先求得总和,然后除以非空值的数量;在求最大值或最小值时,可能需要遍历列中所有的数值来确定最大或最小的值;而计数功能则可能涉及到对特定条件的判断,以排除不需要计入统计的项。 在重写控件时,代码的可维护性和扩展性是需要特别注意的。开发者需要设计出清晰的接口和灵活的架构,以便在后续的开发中,能够轻松地添加更多统计类型或者其他功能扩展。同时,考虑到代码的复用性,可以将统计功能封装成独立的类或组件,这样不仅可以在本项目中复用,还可以在其他项目中进行快速部署。 对于任何新增功能,都需要进行充分的测试以确保功能的稳定性和可靠性。在测试时,需要覆盖各种边界情况和异常情况,确保在不同的数据集和使用环境下,统计功能都能正常工作且提供准确的结果。 通过这些努力,最终可以为开发者提供一个更加完善和高效的DataGridView控件,它不仅提高了用户的工作效率,同时也增强了应用程序的功能性和用户体验。
2026-02-24 19:52:56 130KB
1