当前位置:编程学习 > C#/ASP.NET >>

经理给一个小项目,是(C#)C/S模式的有关人事管理方面的,我以前写的都是B/S的.

大家能不能给我一点做过的小程序(C#)C/S模式的让我学习一下,或有地址我下载也行 数据库是access就行!项目时间太短,大家帮忙啊.有的话帮我发一份,谢谢大家!zwru1985@163.com --------------------编程问答-------------------- Windows编程理论上比asp.net简单,就是拖放一些控件,而且没有状态保持这样的问题。
控件和Asp.net服务器控件差不多,ADO.NET都是通用的。 --------------------编程问答-------------------- 晕,每一个程序都不一样
如果有通用程序的话,要程序员做啥? --------------------编程问答-------------------- C#开发C/S应当非常快的,看看MSDN。 --------------------编程问答-------------------- 看别人的代码是很累的
还是自己摸索比较好,.NET开发的好处就是入门容易,上手快
而且有中文MSDN的帮助~ --------------------编程问答-------------------- BS换CS还不简单... 拖个WebBrowser控件到窗体上就齐活-_- --------------------编程问答-------------------- yangfan369(扬帆远行) 在MSDN上主要看哪部分? --------------------编程问答-------------------- ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_cscon/html/77012a31-5097-4b75-a55a-6627e27e3620.htm
Windows 应用程序(如何实现 - C#) 
-----------------------
常规
基于 Windows 的应用程序概述 
提供可以使用 Microsoft Visual Studio 2005 创建的 Windows 应用程序的概述。

在 Windows 窗体和 Web 窗体之间作出抉择 
讨论每种技术的功能和特性,帮助您确定最适合您的应用程序的技术。

使用窗体
Windows 窗体设计器
如何:在 Windows 应用程序中选择启动窗体 
提供如何在 Windows 应用程序中设置启动窗体的信息。

如何:将多个事件连接到 Windows 窗体中的单个事件处理程序 
解释在 Windows 窗体应用程序中,如何使用 C# 中“属性”窗口的“事件”视图,将多个事件连接到单个事件处理程序。

如何:用 Windows 窗体创建多窗格用户界面 
解释如何创建多窗格用户界面,它类似于 Microsoft Outlook 中使用的用户界面,带有“文件夹”列表、“邮件”窗格和“预览”窗格。

如何:向 Windows 窗体添加背景图像 
解释如何将背景图像置于控件或窗体本身。使用“属性”窗口,可以轻松完成此操作。

如何:在设计时为 Windows 窗体上的控件设置工具提示 
解释如何在代码或 Windows 窗体设计器中设置工具提示字符串。

如何:向 Windows 窗体添加 ActiveX 控件 
解释如何在 Windows 窗体上添加 ActiveX 控件。

如何:创建 Windows 窗体控件的访问键 
解释如何在菜单、菜单项或控件(如按钮)标签的文本中创建访问键。

在运行时使用 Windows 窗体
如何:在运行时在控件集合中进行添加或移除 
提供应用程序开发过程中的常见任务,例如将控件添加到窗体上任意容器控件中,或从窗体上的任意容器控件中移除控件。

如何:启用 Windows XP 视觉样式 
显示如何在 Windows 窗体的工作区中启用视觉样式。

如何:使启动 Windows 窗体不可见 
显示当应用程序启动时,如何使基于 Windows 的应用程序的主窗体不可见。

如何:将 Windows 窗体保持在最前面 
显示在设计时或编程时,如何使窗体成为位于 Windows 窗体应用程序最顶端的窗体。

如何:显示有模式和无模式 Windows 窗体 
显示如何将窗体显示为模式对话框或无模式对话框。

控件
TextBox 控件
如何:在 Windows 窗体 TextBox 控件中选择文本 
显示如何以编程方式在 Windows 窗体 TextBox 控件中选择文本。

如何:在字符串中放置引号(Windows 窗体) 
显示如何将引号 (" ") 置于文本字符串中。

如何:创建只读文本框(Windows 窗体) 
显示如何将可编辑的 Windows 窗体文本框转换成只读控件。

如何:使用 Windows 窗体 TextBox 控件创建密码文本框 
显示如何使用 Windows 窗体 TextBox 控件创建密码文本框。

如何:控制 Windows 窗体 TextBox 控件中的插入点 
显示如何在 TextBox 控件中控制插入点。

如何:将数据绑定到 MaskedTextBox 控件 
显示如何将数据绑定到 MaskedTextBox 控件。

演练:使用 MaskedTextBox 控件 
阐释如何执行以下任务:

初始化 MaskedTextBox 控件。

当字符与掩码不符时警告用户。

当用户试图提交的值对该类型无效时警告用户。

RichTextBox 控件
如何:将文件加载到 Windows 窗体 RichTextBox 控件中 
解释如何将文件加载到 Windows 窗体 RichTextBox 控件(该控件可以显示纯文本、Unicode 纯文本或 RTF 文件)。

如何:在 Windows 窗体 RichTextBox 控件中显示滚动条 
提供 RichTextBox 控件中 ScrollBars 属性的七个可能的值,在下表中对这些值进行说明。

如何:为 Windows 窗体 RichTextBox 控件设置字体属性 
描述如何使用 SelectionFont 属性使选定的字符变为粗体、带下划线或斜体格式。

如何:在 Windows 窗体 RichTextBox 控件中设置缩进、悬挂缩进和带项目符号的段落 
描述如何通过设置 SelectionBullet 属性将选定的段落设置为项目符号列表格式。也可以使用 SelectionIndent、SelectionRightIndent 和 SelectionHangingIndent 属性设置相对于控件的左右边缘以及其他文本行左边缘的段落缩进。

如何:在 Windows 窗体 RichTextBox 控件中启用拖放操作 
描述如何通过处理 DragEnter 和 DragDrop 事件,启用 Windows 窗体 RichTextBox 控件的拖放操作。

如何:使用 Windows 窗体 RichTextBox 控件显示 Web 样式的链接 
描述如何编写代码,使单击链接时打开浏览器窗口,该窗口显示链接文本指定的网站。

Button 控件
如何:响应 Windows 窗体按钮的单击 
解释 Windows 窗体按钮控件的最基本用法,就是在单击按钮时执行某些代码。

如何:使用设计器将 Windows 窗体按钮指定为“接受”按钮 
解释如何将某个 Button 控件指定为接受按钮(也称作默认按钮)。每当用户按 Enter 键时,即单击默认按钮,而不管窗体上其他哪个控件具有焦点。

如何:使用设计器将 Windows 窗体按钮指定为“取消”按钮 
解释如何将某个 Button 控件指定为取消按钮。每当用户按 Esc 键时,即单击取消按钮,而不管窗体上的其他哪个控件具有焦点。通常设计这样的按钮是为了使用户可以快速退出操作而无须执行任何操作。

CheckBox 控件
如何:使用 Windows 窗体 CheckBox 控件设置选项 
提供有关如何使用 Windows 窗体 CheckBox 控件为用户提供真/假或是/否选项的信息。当控件选定时,将显示一个复选标记。

如何:响应 Windows 窗体 CheckBox 的单击 
解释如何编写应用程序,以根据复选框的状态执行某些操作。

RadioButton 控件
如何:按功能分组 Windows 窗体 RadioButton 控件 
解释如何通过将单选按钮拖到容器(如面板控件、GroupBox 控件或窗体)内部以将它们分组。

ListBox 控件、ComboBox 控件和 CheckedListBox 控件
如何:将 Windows 窗体 ComboBox 控件或 ListBox 控件绑定到数据 
解释如何将 ComboBox 和 ListBox 与数据绑定以执行任务,如浏览数据库中的数据、输入新数据、或编辑现有数据。

如何:为 Windows 窗体 ComboBox 控件、ListBox 控件或 CheckedListBox 控件创建查找表 
提供表格,显示如何存储和显示食品订货单数据的示例。

如何:在 Windows 窗体 ComboBox 控件、ListBox 控件或 CheckedListBox 控件中添加或移除项 
提供如何将项添加到 Windows 窗体组合框、列表框或复选列表框的示例。但是,本主题演示最简单的方法,并且不需要数据绑定。

如何:访问 Windows 窗体 ComboBox 控件、ListBox 控件或 CheckedListBox 控件中的特定项 
演示如何访问 Windows 窗体组合框、列表框或复选列表框中的特定项。它使您可以编程方式确定列表中任意给定位置的内容。

如何:对 Windows 窗体 ComboBox 控件、ListBox 控件或 CheckedListBox 控件的内容排序 
演示如何使用支持排序的数据源:数据视图、数据视图管理器和已排序数组。

CheckedListBox 控件
如何:确定 Windows 窗体 CheckedListBox 控件中的选定项 
演示如何通过循环访问存储于 CheckedItems 属性中的集合,或者使用 GetItemChecked 方法逐项通过列表,确定 Windows 窗体 CheckedListBox 控件中已选中的项。

--------------------编程问答-------------------- DataGridView 控件
如何:使用设计器将数据绑定到 Windows 窗体的 DataGridView 控件 
解释如何使用设计器将 DataGridView 控件连接到几种不同类型的数据源(包括数据库、业务对象或 Web 服务)。

如何:验证 Windows 窗体 DataGridView 控件中的数据 
演示如何验证用户输入 DataGridView 控件的数据。

如何:处理在 Windows 窗体 DataGridView 控件中输入数据时发生的错误 
演示如何使用 DataGridView 控件向用户报告数据输入错误。

如何:为 Windows 窗体 DataGridView 控件中的新行指定默认值 
演示如何使用 DefaultValuesNeeded 事件为新行指定默认值。

如何:创建未绑定的 Windows 窗体 DataGridView 控件 
演示如何以编程方式填充 DataGridView 控件,而无需将它绑定到数据源。

如何:将未绑定的列添加到绑定了数据的 Windows 窗体 DataGridView 控件 
演示如何创建“详细信息”按钮的未绑定列,以便在实现主控/详细方案时,显示与父表易做图定行相关的子表。

如何:在 Windows 窗体 DataGridView 控件的单元格中显示图像 
演示如何从嵌入的资源中提取图标,并将它转换成位图,以便在图像列的每个单元格中显示。

如何:在 Windows 窗体 DataGridView 单元格中承载控件 
显示如何创建日历列。此列的单元格按普通文本框单元格的形式显示日期,但是当用户编辑单元格时,将出现 DateTimePicker 控件。

演练:验证 Windows 窗体 DataGridView 控件中的数据 
演示如何从 Northwind 示例数据库中的 Customers 表中检索行,然后在 DataGridView 控件中进行显示。当在 CompanyName 列编辑单元格时,如果试图离开单元格,将检查此新公司名称字符串以确保其不为空;如果新值是一个空字符串,DataGridView 将阻止光标离开该单元格,直到输入一个非空字符串。

演练:处理在 Windows 窗体 DataGridView 控件中输入数据时发生的错误 
演示如何从 Northwind 示例数据库中的 Customers 表中检索行,然后在 DataGridView 控件中进行显示。当在新行或已编辑的现有行中检测到重复的 CustomerID 值时,将发生 DataError 事件,将通过显示 MessageBox(显示此异常)处理此事件。

演练:创建未绑定的 Windows 窗体 DataGridView 控件 
显示如何填充 DataGridView 控件,以及如何在“未绑定”模式下管理行的添加和删除。

DataGridView 布局和格式设置
如何:使用设计器使 Windows 窗体 DataGridView 控件中的列成为只读 
演示如何使包含数据的列变为只读的过程。

如何:使用设计器在 Windows 窗体的 DataGridView 控件中启用列重新排序 
演示如何允许用户对列重新排序。启用列重新排序后,用户可以使用鼠标拖动列标头,将其移至新位置。

如何:使用设计器更改 Windows 窗体 DataGridView 控件中列的顺序 
解释如何使用设计器在 Windows 窗体 DataGridView 控件中更改列的顺序。 

如何:使用设计器添加和移除 Windows 窗体 DataGridView 控件中的列 
解释如何使用设计器在 Windows 窗体 DataGridView 控件中添加或移除列。

使用控件进行数据绑定
如何:处理因数据绑定而发生的错误和异常 
演示如何处理数据绑定操作时发生的错误和异常。

BindingSource 控件
如何:使用设计器将 Windows 窗体控件与 BindingSource 组件进行绑定 
演示在设计时如何绑定控件。

如何:使用 Windows 窗体 BindingSource 组件创建查找表 
演示如何使用 ComboBox 控件显示具有从父表到子表的外键关系的字段。

如何:使用 BindingSource 在 Windows 窗体控件中反映数据源更新 
演示如何使用 ResetBindings 方法通知绑定控件有关数据源中的更新。

如何:使用 Windows 窗体 BindingSource 组件对 ADO.NET 数据进行排序和筛选 
演示如何使用 BindingSource 对数据进行排序和筛选。

如何:使用 Windows 窗体 BindingSource 绑定到 Web 服务 
演示如何创建和绑定到客户端代理。

绑定导航器
如何:使用 Windows 窗体 BindingNavigator 控件定位数据 
解释如何设置 BindingNavigator 控件。

如何:使用 Windows 窗体 BindingNavigator 控件浏览数据集 
演示如何使用 BindingNavigator 控件浏览数据库查询的结果。

ListView
如何:使用 Windows 窗体 ListView 控件添加和移除项 
解释将项添加到 Windows 窗体 ListView 控件或从中移除的过程。可在任何时候添加或移除列表项。

如何:向 ListView 控件添加搜索功能 
演示如何在短时间内创建具有专业外观的 Windows 窗体应用程序。

如何:选择 Windows 窗体 ListView 控件中的项 
演示如何用编程方式在 Windows 窗体 ListView 控件中选择项。

如何:显示 Windows 窗体 ListView 控件的图标 
演示如何在列表视图中显示图像。

如何:使用 Windows 窗体 ListView 控件在列中显示子项 
演示如何将子项添加到列表项中。

TreeView
如何:设置 Windows 窗体 TreeView 控件的图标 
演示如何在树视图中显示图像。

如何:添加和删除 Windows 窗体 TreeView 控件中的节点 
演示如何以编程方式将节点添加到树视图中或从中移除。

如何:确定被单击的 TreeView 节点(Windows 窗体) 
演示如何确定单击了哪个 TreeView 节点。

容器控件
如何:水平拆分窗口 
解释如何制作水平拆分 SplitContainer 控件的拆分器。

如何:用 Windows 窗体创建多窗格用户界面 
演示如何创建一个多窗格用户界面,它类似于 Microsoft Outlook 中使用的用户界面,具有“文件夹”列表、“邮件”窗格和“预览”窗格。

如何:在 TableLayoutPanel 控件中跨行和跨列 
演示 TableLayoutPanel 控件中的控件如何跨越相邻的行和列。

演练:使用 TableLayoutPanel 在 Windows 窗体上排列控件 
阐释如何执行以下任务:

创建 Windows 窗体项目。

按行和列排列控件。

设置行属性和列属性。

使用控件跨行和跨列。

自动处理溢出。

通过在工具箱中双击控件插入控件。

通过绘制控件的轮廓插入控件。

将现有控件重新分配到不同的父级。

演练:使用 FlowLayoutPanel 在 Windows 窗体上排列控件 
阐释如何执行以下任务:

创建 Windows 窗体项目。

水平和垂直排列控件。

更改流方向。

插入流中断符。

使用空白和边距排列控件。

通过在工具箱中双击控件插入控件。

通过绘制控件的轮廓插入控件。

使用插入符号插入控件。

将现有控件重新分配到不同的父级。

图片控件和图像控件
如何:使用设计器加载图片(Windows 窗体) 
解释在设计时,如何将 Image 属性设置为有效图片,从而在窗体中加载和显示图片。

如何:在运行时设置图片(Windows 窗体) 
解释如何以编程方式设置 Windows 窗体 PictureBox 控件显示的图像。

如何:在运行时修改图片的大小或位置(Windows 窗体) 
解释如何将窗体中的 Windows 窗体 PictureBox 控件的 SizeMode 属性设置为不同值 

DateTimePicker
如何:使用 Windows 窗体 DateTimePicker 控件设置和返回日期 
解释如何在显示控件前设置 Value 属性,以确定控件中最初选定的日期。

如何:使用 Windows 窗体 DateTimePicker 控件以自定义格式显示日期 
解释如何显示自定义格式,并将 CustomFormat 属性设置为格式字符串。

MonthCalendar
如何:在 Windows 窗体 MonthCalendar 控件中选择日期范围 
演示如何使用 MonthCalendar 控件的属性设置日期范围,或获取由用户设置的选择范围。

如何:使用 Windows 窗体 MonthCalendar 控件以粗体显示特定日期 
演示如何以粗体或普通字体显示日期。

如何:在 Windows 窗体 MonthCalendar 控件中显示多个月份 
演示如何在 Windows 窗体 MonthCalendar 控件中显示多个月份。

如何:更改 Windows 窗体 MonthCalendar 控件的外观 
演示如何更改月历的配色方案,如何在控件底部显示当前日期以及如何显示周数
--------------------编程问答-------------------- 数据访问(针对 Windows 窗体)
演练:在 Windows 应用程序的不同窗体间传递数据 
提供将数据从一个窗体传递到另一个窗体上的方法的分步介绍。

演练:在 Windows 应用程序中的窗体上显示数据 
创建一个简单的窗体,在多个单独的控件中显示单个表中的数据。

演练:在 Windows 应用程序中创建一个用于搜索数据的窗体 
演示如何创建搜索数据的 Windows 窗体。

ToolStrip
如何:将 ToolStripItem 置于 ToolStrip 
解释如何将 ToolStripItem 移至或添加到 ToolStrip 的左侧或右侧。

如何:使用设计器禁用 ToolStripMenuItem 
解释如何在设计时禁用菜单项。

如何:移动 ToolStripMenuItem 
解释如何将整个顶级菜单及其菜单项移动到 MenuStrip 上的其他位置。也可以在顶级菜单之间移动各个菜单项,或在菜单内更改菜单项的位置。

如何:在 Windows 窗体中更改 ToolStrip 文本和图像的外观 
解释如何控制是否在 ToolStripItem 中显示文本和图像,以及它们之间如何对齐、相对于 ToolStrip 如何对齐。

上下文菜单
如何:将快捷菜单与 Windows 窗体 NotifyIcon 组件关联 
演示如何:将快捷菜单与 Windows 窗体 NotifyIcon 组件相关联。

如何:使用 Windows 窗体 ContextMenu 组件添加和移除菜单项 
说明如何在 Windows 窗体中添加和移除快捷菜单项。

打印
如何:创建标准的 Windows 窗体打印作业 
显示如何通过编写代码处理 PrintPage 事件,指定打印内容和打印方式。

如何:完成 Windows 窗体打印作业 
显示如何通过处理 PrintDocument 组件的 EndPrint 事件来完成打印作业。

如何:在 Windows 窗体中打印文本 
显示如何使用将对象(图形或文本)拖动到设备(如屏幕或打印机)的方法在 Windows 窗体中打印文本。

如何:在 Windows 窗体中选择连接到用户计算机的打印机 
显示如何选择打印机,然后打印文件。

如何:在运行时更改 Windows 窗体打印选项 
显示在运行时如何更改打印选项。通过 PrintDialog 组件和 PrinterSettings 类可完成此项操作。

用户控件和自定义控件
向用户控件添加控件 
演示如何将控件添加到用户控件。

向用户控件添加代码 
演示如何将代码添加到用户控件。

多文档界面 (MDI)
如何:创建 MDI 父窗体 
演示如何在设计时创建 MDI 父窗体。

如何:创建 MDI 子窗体 
演示如何创建显示 RichTextBox 控件的 MDI 子窗体,该窗体与大多数文字处理应用程序相似。

如何:排列 MDI 子窗体 
演示如何将子窗体显示为层叠、水平平铺或垂直平铺,或者显示为排列在 MDI 窗体下部的子窗体图标。

如何:确定活动的 MDI 子窗体 
演示如何确定活动 MDI 子窗体,并将它的文本复制到剪贴板。

如何:将数据发送到活动的 MDI 子窗体 
演示如何将数据从剪贴板发送到活动 MDI 子窗口。

图形
如何:绘制空心形状 
显示如何在窗体上绘制空心椭圆和矩形。

如何:创建线性渐变 
显示如何使用水平线性渐变画笔填充线条、椭圆和矩形。

如何:创建路径渐变 
显示如何自定义用渐变颜色填充形状的方式。

如何:使用线条、曲线和形状创建图形 
解释如何创建具有单个或多个图形的路径。

如何:创建用于绘制的 Graphics 对象 
解释如何创建绘制的图形对象。

如何:创建缩略图像 
演示如何由位图文件构造图像对象。

如何:创建垂直文本 
演示如何使用 StringFormat 对象指定在垂直方向而不是在水平方向绘制文本。

如何:对齐绘制的文本 
演示如何在矩形内绘制文本。每行文本都居中,整个文本块在矩形内居中。

如何:在 Windows 窗体上绘制线条 
演示如何在窗体上绘制线条。

如何:旋转、反射和扭曲图像 
演示如何通过指定原始图像的左上角、右上角和左下角作为目标点对图像进行旋转、反射和扭曲。

如何:在 Windows 窗体上绘制文本 
显示如何使用 Graphics 的 DrawString 方法在窗体中绘制文本。

如何:加载和显示位图 
显示如何从文件加载位图,并在屏幕上显示该位图。

如何:加载和显示图元文件 
显示如何使用 Metafile 类的方法记录、显示和检查矢量图像。

本地化和全球化 Windows 窗体
演练:本地化 Windows 窗体 
演示本地化 Windows 应用程序项目的过程。

如何:使用 AutoSize 属性和 TableLayoutPanel 控件支持对 Windows 窗体的本地化 
演示如何启用适应不同字符串大小的布局。

如何:为 Windows 窗体全球化设置区域性和用户界面的区域性 
演示如何设置适合于特定区域性的格式设置选项。

如何:为全球化在 Windows 窗体中按从右到左的顺序显示文本 
演示如何从右向左显示文本。

//////////////////////以上都是MSDN中的部分说明,很详细祝你完成C/S编程,没有现成的东西。 --------------------编程问答-------------------- 哎!不喜欢这种检现成吃的人,难怪好多人都不愿开源. --------------------编程问答-------------------- LZ啊 
编写边学吧
这样最好了
相信自己,你要是做完这个项目,以后就可以说自己不仅会开发ASP.NET了,还可以做桌面应用,工资就是这样涨上去的 --------------------编程问答-------------------- 如果是单机版,不涉及网络通信的话,应该是比ASP.NET简单的 --------------------编程问答-------------------- 鄙视8楼9楼,怎么不把MSDN复制上来. --------------------编程问答-------------------- 呵呵,做webservice吧,后面用bs的,前端用cs架个壳

如果是单机的,另外再说了 --------------------编程问答-------------------- 还是有问题发问题更好,否则别人写的不见得是你要的 --------------------编程问答-------------------- 接分,纯的 --------------------编程问答-------------------- 也不能说Windows编程和asp.net孰难孰易,侧重点不一样。
B/S难在服务器与客户端的交互,C/S在布局,各种底层操作等等 --------------------编程问答-------------------- c/s就是事件和委托用的比较多。其他的,就是界面的绘制比较麻烦。原理方面还是有许多不一致的地方。这个需要多摸索。 --------------------编程问答-------------------- 这个。。。。。哎 可能不是太复杂 --------------------编程问答-------------------- 拿出点时间就可以做完的。 --------------------编程问答-------------------- 外包给兄弟门吧 弄点钱回家过年 
--------------------编程问答-------------------- 接分 --------------------编程问答-------------------- --------------------编程问答-------------------- winForm的还好理解点,直接的拖放控件进行设置相应属性,方法的实现    很快 --------------------编程问答-------------------- c/s比b/s简单多了
--------------------编程问答-------------------- 不管什么项目,关键看要求。
人事软件,也有可能很复杂。
比如我老人家正在做的这个,比整个用友财务还复杂。 --------------------编程问答-------------------- 我正在从CS向BS转型
楼主加油! --------------------编程问答-------------------- 自己动手,丰衣足食
有人帮最好,没人帮就自己啃下来。
主要靠自己努力!
祝你成功! --------------------编程问答-------------------- 路过    回复内容太短了! 
--------------------编程问答-------------------- 找本书看看啊,winform还是简单多了
你们经理让你短时间做出,估计也不会繁琐到哪里
找本书 敲几个简单的例子 很容易上手的 我是菜鸟 都觉得不难 相信你也一定可以做出来
你要是会处理点图片的话 会搞下界面 相信最后效果会更好  --------------------编程问答--------------------
引用 6 楼 biao1 的回复:
yangfan369(扬帆远行)   在MSDN上主要看哪部分?

MSDN中有个毛。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,