精华内容
下载资源
问答
  • WinForm界面开发图标

    2021-02-02 09:00:21
    如题,适用于WinForm界面开发图标素材 如题,适用于WinForm界面开发图标素材 如题,适用于WinForm界面开发图标素材 如题,适用于WinForm界面开发图标素材
  • WinForm界面开发

    2009-12-14 22:34:00
    WinForm界面开发之酒店管理系统--报表篇 伍华聪 2009-12-14 20:55 阅读:344 评论:7 WinForm界面开发之酒店管理系统--控件篇 伍华聪 2009-11-29 22:52 阅读:2568 评论:9 WinForm界面开发之酒店管理系统--...

    转载

     

    WinForm界面开发之酒店管理系统--报表篇 伍华聪 2009-12-14 20:55 阅读:344 评论:7  
    WinForm界面开发之酒店管理系统--控件篇 伍华聪 2009-11-29 22:52 阅读:2568 评论:9  
    WinForm界面开发之酒店管理系统--开篇 伍华聪 2009-11-29 15:18 阅读:3113 评论:33  
    WinForm界面开发之“OutLookBar”工具条 伍华聪 2009-07-10 19:16 阅读:2782 评论:11  
    WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用 伍华聪 2009-07-09 20:25 阅读:4000 评论:20  
    WinForm界面开发之"SplashScreen控件" 伍华聪 2009-07-08 17:17 阅读:2770 评论:10  
    WinForm界面开发之“分页控件” 伍华聪 2009-07-07 21:06 阅读:2954 评论:29  
    WinForm界面开发之“HTML内容编辑控件” 伍华聪 2009-07-07 13:31 阅读:2812 评论:15  

     

    转载于:https://www.cnblogs.com/yibinboy/archive/2009/12/14/1624172.html

    展开全文
  • winform界面开发实例

    2013-06-04 14:03:20
    winform界面开发实例,希望可以帮你入门winform
  • 如题,WinForm 界面开发超漂亮可爱卡通图标,很高清的
  • 我们在开发桌面应用程序的时候,常常程序启动比较慢,为了提高用户的体验,增加一个闪屏,也就是启动界面,这样做的好处有:1、让用户看到加载的过程,提高程序的交互响应;2.可以简短展示或者介绍程序的功能或者...
  • 做过了很多Winform的共享软件,对界面的设计有了一定的经验和积累,准备开一个“WinForm界面开发”系列文章,介绍下相关的Winform界面设计和相关控件的使用,促进相互交流,以获得更好的发展和了解。 在很多Winform...

    做过了很多Winform的共享软件,对界面的设计有了一定的经验和积累,准备开一个“WinForm界面开发”系列文章,介绍下相关的Winform界面设计和相关控件的使用,促进相互交流,以获得更好的发展和了解。

    在很多Winform程序中 ,我们可能需要HTML内容的所见即所得的编辑控件,如Asp.net中的FreeTextBox等控件样式的。

    搜索了一下,发现很少这方面的控件,找了一个,好像是收费的,而且感觉一般,跳过,再找,然后发现CodeProject 上有一个不错的东西,拿过来进行修改一下,作为控件进行使用,效果还不错,我在QQ号码采集机邮件发送系统中使用,如下图所示

    控件支持基本的HTML编辑操作,如文字、图片、排列(左对齐,右对齐,居中等)、项目符号、缩进调整等操作,如下图所示

     

    另外控件支持右键菜单操作,常用的编辑功能以及查找、修改HTML、查看内容、插入HTML元素等

    内容查找界面如下所示

     

    修改HTML窗体如下所示,可以增加修改里面的内容,确定后控件的内容将重新变化。

    插入图片的对话框,提示用户输入相关的信息。

    控件我们一般使用两个属性即可,如下代码所示

      string  bodyHtml  =   this .txtContent.BodyHtml;
     
    string  bodyText  =   this .txtContent.BodyText;

    最后,呈上大家最关心的控件文件,大家可以按照使用一般的控件使用即可(控件我没有进行加密,大家需要修改源码的,反编译一下即可,呵呵):

    http://files.cnblogs.com/wuhuacong/WinHtmlControl.rar

    本文转自博客园伍华聪的博客,原文链接:WinForm界面开发之“HTML内容编辑控件”,如需转载请自行联系原博主。



    展开全文
  • WinForm界面开发之模块化分合

    千次阅读 2013-10-08 15:16:10
    本文继续WInform界面开发系列的介绍,主要针对性介绍Winform开发过程中,经常用到的模块:数据字典模块、参数配置模块、权限管理模块的模块化应用,以及各模块的分合之道。   1、数据字典模块  我们知道,一般...

    大千世界,合久必分,分久必合,分合之道,利之所趋。

    开发过程,积少成多,聚沙成塔,模块之理,必经之路。

    本文继续WInform界面开发系列的介绍,主要针对性介绍Winform开发过程中,经常用到的模块:数据字典模块、参数配置模块、权限管理模块的模块化应用,以及各模块的分合之道。

     

    1、数据字典模块 

    我们知道,一般程序基本上都涉及到了一个是数据参考用途的数据字典模块,不管是Web还是Winform的,这个模块基本上是必不可少的,Winform的界面效果大致如下所示:

     

    本模块的数据字典支持无限级树形分层应用,可以添加大类,字典项目等数据, 系统集成只需要拷贝相关的字典表即可实现集成。

     

    2、参数配置模块 

    在程序中,一般应用就是通过代码把相关的内容进行转义保存或者解析,以便呈现给用户更好的数据展示效果,这个模块比较通用,可分可合。

    另外一个也比较常用的就是参数的配置管理模块,一般如果参数比较少,直接使用.NET的配置保存功能即可,如下图所示。

     

     

    但这种方式只能保存比较少的内容,对于比较复杂的配置,一般很少采用这种模式存放程序的参数信息,这种方式存储的参数,如果不是放到一个独立的文件中,还存在一个不同步的现象。

    其实我们还是可以把参数的配置功能作为一个独立的模块进行处理,我的程序就是经常这么干的,而且由于是相对比较独立,并在设计时候就支持参数的编辑及展示功能,因此效率大大提高,对使用用户来说,由于修改界面比较统一,而且参数的说明等很丰富,因此用户修改系统的配置参数友好性大大增强,界面效果如下所示:

    使用用户看到的参数配置界面效果: 

     

     

    开发者在设计时刻的参数配置界面如下所示:

                 

     

    这些参数最终目的是为了程序的读取和调用,调用代码非常简单,而且由于是强类型的属性以及良好的提示功能,应该是比较方便的,示例代码如下所示:


    代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->                double hours = span.Hours;
                    hours = (hours < SystemConfig.Default.KFPartAtLeaseHoure) ? 
                        SystemConfig.Default.KFPartAtLeaseHoure : hours;//最小的钟点房计费
                    if (span.Minutes < 60 && span.Minutes >= SystemConfig.Default.KFPartHourMinutes)
                    {
                        hours += 1;
                    }
                    else if (span.Minutes > SystemConfig.Default.KFPartHalfHourMinte &&
                        span.Minutes < SystemConfig.Default.KFPartHourMinutes)
                    {
                        hours += 0.5;
                    }

    其中的SystemConfig.Default.KFPartAtLeaseHoure就是参数的名称了,根据这个名称就可以读取和设置该参数的值。 

    该参数配置模块是一个Visual Studio的Addin插件,因此可以在设计时刻提供参数的添加、修改、删除等支持,非常方便,而且也能在发布后给用户界面提供修改,是一个独立的模块。 


    3、权限管理模块 

    最后说说第三个模块,权限管理模块,我们知道,一般对于进销存或者稍微复杂一点的系统,都需要最基本的权限控制模块,以便控制不同用户的访问功能,这个可以做成独立的应用程序进行管理,如下图所示:

         

     

    程序是一个独立的程序,但是权限系统需要和业务应用系统结合一起才有价值,因此它们之间的结合,一个除了数据库的整合(把权限系统需要的表整合一起),还需要在系统的代码中进行整合(实现功能模块的登陆及权限控制等)。登陆验证如下所示:

    Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->            try
                {
                    string loginName = this.cmbzhanhao.Text.Trim();
                    User userBLL = new User();
                    string identity = userBLL.VerifyUser(loginName, this.tbPass.Text, Guid.NewGuid().ToString());
                    if (!string.IsNullOrEmpty(identity))
                    {
                        UserInfo info = userBLL.GetUserByName(loginName);
    
                        #region 获取用户的功能列表
    
                        Function functionBLL = new Function();
                        List<FunctionInfo> list = functionBLL.GetFunctionsByUser(info.ID, "HOTELMS");
                        if (list != null && list.Count > 0)
                        {
                            foreach (FunctionInfo functionInfo in list)
                            {
                                if (!Portal.gc.FunctionDict.ContainsKey(functionInfo.ControlID))
                                {
                                    Portal.gc.FunctionDict.Add(functionInfo.ControlID, functionInfo);
                                }
                            }
                        }
    
                        #endregion
    
                        bLogin = true;
                        Portal.gc.LoginInfo = info;
                        this.DialogResult = DialogResult.OK;
                    }
                    else
                    {
                        MessageUtil.ShowTips("用户帐号密码不正确");
                        this.tbPass.Text = ""; //设置密码为空
                    }
                }
                catch (Exception err)
                {
                    MessageUtil.ShowError(err.Message);
                }

    用户功能权限认证如下所示:

                #region KTV包间管理
    if (Portal.gc.HasFunction("KTV"))
                {
                    OutlookBarBand myBasicBand = new OutlookBarBand("KTV包间管理");
                    myBasicBand.SmallImageList = this.imageList;
                    myBasicBand.LargeImageList = this.imageList;
                    if (Portal.gc.HasFunction("KTV/View"))
                    {
                        myBasicBand.Items.Add(new OutlookBarItem("KTV包间状态视图", 0));
                    }
                    if (Portal.gc.HasFunction("KTV/Setting"))
                    {
                        myBasicBand.Items.Add(new OutlookBarItem("KTV包间设置", 1));
                    }
                    if (Portal.gc.HasFunction("KTV/Goods"))
                    {
                        myBasicBand.Items.Add(new OutlookBarItem("KTV商品设置", 3));
                    }
                    if (Portal.gc.HasFunction("KTV/Waiter"))
                    {
                        myBasicBand.Items.Add(new OutlookBarItem("KTV服务生管理", 4));
                    }
                    if (Portal.gc.HasFunction("KTV/BookIn"))
                    {
                        myBasicBand.Items.Add(new OutlookBarItem("KTV预订管理", 5));
                    }
                    if (Portal.gc.HasFunction("KTV/OtherIncome"))
                    {
                        myBasicBand.Items.Add(new OutlookBarItem("KTV其他款项登记", 6));
                    }
                    myBasicBand.Background = SystemColors.AppWorkspace;
                    myBasicBand.TextColor = Color.White;
                    outlookBar1.Bands.Add(myBasicBand);
                }
                #endregion

    至此,三个常用而且比较独立模块介绍完毕,这几种场景你用了几个呢,如果觉得有价值,欢迎一起讨论切磋。

    开发之道,顺手拈来;分合之需, 顺其自然;优码不语,润物无声;

    主要研究技术:代码生成工具、Visio二次开发、送水管理软件等共享软件开发
    专注于Winform开发框架、WCF开发框架的研究及应用。
      转载请注明出处:
    撰写人:伍华聪  http://www.iqidi.com


    展开全文
  • 我们在开发应用程序的时候,常常遇到程序启动比较慢,为了提高用户的体验,增加一个闪屏,也就是SplashScreen,这样做的好处有:1、让用户看到加载的过程,提高程序的交互响应;2.可以简短展示或者介绍程序的功能...
  • 该资源属于某大神搜集整合资源,希望对你有所帮助。 主要针对性介绍Winform开发过程中,经常用到的模块:数据字典模块、参数配置模块、权限管理模块的模块化应用,以及各模块的分合之道。
  • c# 与 winform 界面开发

    千次阅读 2018-09-25 13:47:49
    在 windows 下使用 vs2010 开发,未深入研究。   c# 与 .net 开发,一堆又一堆的新名词,头晕目眩,比如 CLR / apartments / STA / MTA / COM 吐槽无力,只一个问题:微软真的是软件公司,而不是文学公司? 1....

    在 windows 下使用 vs2010 开发,未深入研究。

     

    c# 与 .net 开发,一堆又一堆的新名词,头晕目眩,比如 CLR / apartments / STA / MTA / COM

    吐槽无力,只一个问题:微软真的是软件公司,而不是文学公司?

    1. 工程代码结构

    创建 Windows Forms Application 工程后,自动生成如下代码:

    Form1.cs 与 Form1.Designer.cs  是 2 个文件,一起定义了一个 form 的行为/样式等。在 vs2010 中会折叠在一起。

    其中,Designer 中定义样式。事件监听、事件处理都在 form.cs 中定义。

    双击 form.cs 会打开 UI 效果界面,可以直接拖拽完成界面布局。右键 view code 可以查看 form1.cs 源码。

     

    Program.cs 内定义了 main 函数,是启动文件。

    用一个 App run 一个 form。

    [STAThread]/[MTAThead] 指定单/多线程运行模式。

    复制代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows.Forms;
    
    namespace AppDemo
    {
        static class Program
        {
            /// <summary>
            /// The main entry point for the application.
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
        }
    }

    复制代码

    2. Form.cs 与 Form.Designer.cs

    form1.cs 与 designer.cs 2个文件定义的是同一个 namespace 下的 同一个 class

    每一个文件定义时,都使用了 partial class

    界面布局的代码,一般自动生成,在 Designer 中。

    手写的代码主要是事件处理,一般放在 form.cs 中

     

    form.cs 的构造函数中,一般会先调用 Designer.cs 中定义的 InitializeComponent() 完成界面初始化。

    在 InitializeComponent 中会声明每个控件的索引   private System.Windows.Forms.Button button1; 

    在 form.cs 中可以直接用过变量名 button1 操作该控件。

    所以,form.cs 的构造函数中,一般先调用 InitializeComponent。

    Designer.cs 中,InitializeComponent 初始化界面。Dispose 方法释放资源。释放时需要注意不要造成资源泄露。

    复制代码

    // --------------- Form1.cs -----------------------------------
    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 AppDemo
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
        }
    }
    
    // ------------------- Form1.Designer.cs -------------------------
    namespace AppDemo
    {
        partial class Form1
        {
            /// <summary>
            /// Required designer variable.
            /// </summary>
            private System.ComponentModel.IContainer components = null;
    
            /// <summary>
            /// Clean up any resources being used.
            /// </summary>
            /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
    
            #region Windows Form Designer generated code
        }
    }

    复制代码

    3. 资源文件 与 resx

    exe 或者 dll 文件需要依赖其它文件得以正常运行,

    最简单的做法是:把依赖文件拷贝到客户端,程序内部用相对路径读取。

    这一般是可以的,但若客户删除了这些资源,则会导致不可预期的效果。

    通过资源文件,可以把这些文件嵌入到 exe 或者 dll 中。

     

    资源文件可分为 2 类:.resx 和 .resources。前者是 xml 格式,后者是二进制。

    只有当前 solution 存在同名的 .cs 文件时,.resx 文件才能正常工作。resources 则无此限制。

     

    通过 System.Resources 下的 ResourceWriter 可以生成资源文件,Generate 产生文件,Close 关闭文件。

    创建实例后,即可通过 AddResource 方法添加资源。第一个参数是标示符,可以在代码中通过标示符使用资源。

    资源文件中一般存三种类型的数据:byte流(byte[])、对象(object)和字符串(string)。

    复制代码

    ResourceWriter rw = new ResourceWriter ( "filename.resources" ) ;
    rw.Generate ( ) ;  // 产生文件
    rw.Close ( ) ;
    
    // 添加资源
    public void AddResource ( str_identifier , byte [ ] ) ;
    public void AddResource ( str_identifier , object );
    public void AddResource ( str_identifier , str_value ) ;
    resources.ApplyResources( this.myButton, str_identifier );  // 为 this.myButton 使用资源 str_identifier
    this.ApplyResource();

    复制代码

    4. 多国语言与本地化

    4.1 添加多国语言支持

    在界面上添加组件后,会生成 .resx 文件,vs2010 中折叠在对应的 form.cs 下。

    这是默认语言的资源文件,文件名为 form1.resx

    若要开发其他语言版本,在对应 form 右侧的属性菜单中,将 Localizable 设为 True,并将 language 设为所需语言即可。

    设置新的显示文本后保存,会生成对应语言的 .resx 文件。文件名格式为 form1.language-Location.resx,例如:简体中文为 form1.zh-CN.resx

    1. 仅当 Language 为 default 时才可以添加或删除界面中的组件。
    2. 仅当设定为新 language,且修改过显示内容后,才会创建对应的资源文件。
    3. 仅当选定 form 时,才能在右侧属性菜单中设置语言。若选中 form 中的 button、text 等组件时,无法设置本地化属性。
    4. 添加多国语言支持后,默认语言的 form1.resx 中不再包含显示文字 Text、控件大小 Size、显示位置 Location 等,而是放在了对应语言的资源文件中,通过 ApplyResources 取用。

    4.2 获取与设定运行时语言

    两个关键概念:

    • CurrentCulture:默认值是操作系统的用户区域设置,它在“区域选项”控制面板中设置。
    • CurrentUICulture: 默认值是操作系统的用户界面 (UI) 语言,即操作系统用户界面所使用的语言。
    System.Globalization.CultureInfo.InstalledUICulture.Name;  // 获取当前运行语言
    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo( "zh-CHS" );  // 设置当前运行语言

    5. 页面布局与样式设定

    SuspendLayout() 调用后控件的布局逻辑被挂起,直到调用 ResumeLayout() 方法为止。

    当调整控件的多个属性时,将先调用 SuspendLayout 方法,然后设置控件的 Size、Location、Anchor 或 Dock 属性,

    最后调用 ResumeLayout 方法以使更改生效。

    标签: c#, GUI, 笔记

    展开全文
  • WinForm界面开发之“分页控件”

    千次阅读 2018-08-18 14:09:28
    在程序中,分页总是永远的话题,因为数据总是很多很多,分页展示在程序性能和数据查看感官方面得到很好的平衡,是一种良好的编程习惯和UI设计。...Winform中的分页控件可能没有Asp.net世界中的分页控
  • 在我们开发各种应用的时候,都会碰到很多不同的问题,这些问题涉及架构、模块组合、界面处理、共同部分抽象等方面,我们这里以Winform开发为例,从系统模块化、界面组件选择、业务模块场景划分、界面基类和辅助类...
  • WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用 本篇介绍Winform程序开发中的布局界面的设计,介绍如何在我的共享软件中使用布局控件"WeifenLuo.WinFormsUI.Docking
  • 第三方开源框架
  • WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用   (2012-05-19 23:02:44) 转载▼ 标签:  杂谈   本篇介绍Winform程序开发中的布局界面的设计,介绍如何...
  • DevExpress WinForm v20.1全新发布. 很多程序可能都会有一个首页综合展示系统的相关信息,如汇总信息,图表统计、待办业务、提醒信息等内容,在Web上可能叫做Dashboard仪表板,或者首页页面,不管哪种叫法,都是...
  • 介绍Winform程序开发中的布局界面的设计,介绍如何在我的共享软件中使用布局控件"WeifenLuo.WinFormsUI.Docking"。 布局控件"WeifenLuo.WinFormsUI.Docking"是一个非常棒的开源控件,用过的人都深有体会,该控件之...
  • DevExpress WinForm v20.1全新发布,想要体验?点击下载>> 在我们一般的程序中,为一般的界面元素添加一定的图标展示,有助于提升界面的整体的美观。结合排版布局,以及固定场景的图标,往往给用户非常好的...
  • DevExpress v20.1完整版下载 ...在一个给客户做的项目中,界面要求修改增加通用工具栏按钮的事件处理,也就是在主界面中放置几个固定的功能操作按钮,打开不同的页面的时候,实现对应页面的功能处理,这种...
  • DevExpress Winforms Controls内置140多个UI控件和库,完美构建流畅、美观且易于使用的应用...在开发Winform各种类型项目,我都时不时需要定制一些特殊的用户控件,以方便在界面模块中反复使用。我们一般是在自定义的.
  • 所有的UI for WinForms控件都具有完整的主题支持,可以轻松地帮助开发人员在桌面和平板电脑应用程序提供一致美观的下一代用户体验。 Telerik UI for WinForms提供了大量的办公主题集,从Office2007(蓝色,黑色和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,376
精华内容 7,350
关键字:

winform界面开发