当前位置: 首页 > news >正文

详细论述制作网站的步骤泉州网站制作案例

详细论述制作网站的步骤,泉州网站制作案例,网络推广十大平台,本地黄页小程序我们在控件那篇文章里说过#xff0c;窗体和控件都是一个类#xff0c;项目中一个个窗体#xff0c;都是Form类的子类。关于这个类有几个重要的成员#xff0c;也是最常用成员#xff0c;以供初学者了解#xff1a;Load事件#xff1a;发生在构造函数后#xff0c;Show…我们在控件那篇文章里说过窗体和控件都是一个类项目中一个个窗体都是Form类的子类。关于这个类有几个重要的成员也是最常用成员以供初学者了解Load事件发生在构造函数后Shown事件前这个事件的生命周期内窗体是不可视化的。Shown事件当窗体发生前窗体有轮廓画出事件结束后整个窗体渲染完并显示。FormClosing事件当窗体关闭过程中触发因为是中间过程还有机会挽救事件订阅方法的第二个参数是FormClosingEventArgs它有一个Cancel属性如果设置成true窗体就停止关闭后续步骤继续显示。FormClosed事件窗体关闭后触发不过这个事件走完后窗体才消失这个事件订阅方法的第二个参数是FormClosedEventArgs它有一个CloseReason的属性说明了窗体关闭的原因是枚举类型。Show方法以非模态方式显示窗体意思就是显示出来的窗体与其他可视窗体可以切换操作非模态窗体关闭后就会释放。ShowDialog方法以模态方式显示窗体会阻塞之前显示的窗体独占进程内的输入设置焦点。Hide方法隐藏当前窗体可以通过Show或ShowDialog再次显示出来。Close方法关闭当前窗体会触发Close的相关事件。MDI多文档界面MDI窗体如下通常把主窗体当做父MDI窗体其他窗体是子MDI窗体。首先设置主窗体的IsMdiContainer属性为True当显示子MDI窗体时首先实例化然后指定子窗体的MdiParent为主窗体实例因为在主窗体中new的所以指定为this当前对象。var child02 new Child02Form(); child02.MdiParent this; child02.WindowState FormWindowState.Maximized; child02.Show();WinForm中的DI依赖注入的方便性大家可能在asp.net core中体会到了所以前一段时间有公众号微友想了解在WinForm中使用依赖注入这个必须安排。其实WinForm中使用DI和asp.net core是一样的要安装NuGet包Microsoft.Extensions.Hosting为了演示日志这里引入了NLog。using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using NLog.Extensions.Logging; using System;namespace WinFormDemo07 {internal static class Program{[STAThread]static void Main(){ApplicationConfiguration.Initialize();var host  CreateHostBuilder().Build();ServiceProvider  host.Services;Application.Run(ServiceProvider.GetRequiredServiceMainForm());}public static IServiceProvider ServiceProvider { get; private set; }static IHostBuilder CreateHostBuilder(){return Host.CreateDefaultBuilder().ConfigureServices((context, services) {services.AddLogging(loggingBuilder {loggingBuilder.ClearProviders();loggingBuilder.SetMinimumLevel(LogLevel.Information);loggingBuilder.AddNLog(nlog.config);});services.AddTransientMainForm();services.AddTransientChild01Form();services.AddTransientChild02Form();services.AddTransientIDataService, DataService();});}}public interface IDataService{bool ModifyData(string name);}public class DataService : IDataService{public bool ModifyData(string name){return false;}} }在使用时可以通过构造函数把注入的服务窗体拿出来使用还可以用Program中提供的静态ServiceProvider的GetRequiredService来获取容器中的实例。当然注入的时候要根据自己的需要把服务注入成SingletonScoped或Transient。public partial class MainForm : Form {private readonly IDataService _dataService;private readonly ILoggerMainForm _logger;private readonly Child01Form _childo1form;public MainForm(Child01Form childo1form, ILoggerMainForm logger,IDataService dataService){_logger logger;_dataService  dataService;   _childo1form childo1form;_logger.LogInformation(MainForm 启动); InitializeComponent();} private void 新建NToolStripMenuItem_Click(object sender, EventArgs e){_logger.LogInformation(child01form 启动);var child01 Program.ServiceProvider.GetRequiredServiceChild01Form()child01.MdiParent  this;child01.WindowState FormWindowState.Maximized;child01.Show();} }
http://wiki.neutronadmin.com/news/433575/

相关文章:

  • 张浦专业做网站做网站虚拟主机要多大
  • 怎么把做的网页放入网站寿光网站制作
  • 搭建直播网站需要怎么做网页布局有哪几种
  • 沈阳网站建设服务平台石家庄模板建站
  • 98建筑网站网络图片素材
  • 网站编程基础品牌建设助力乡村振兴
  • 上海平台网站建设报十大免费建站app
  • 如何建设html网站腾讯企点怎么解绑手机号
  • 网站 关键词库在本地用dedecms做好的网站如何上传到服务器?
  • 有可以免费建网站的吗成都市公共资源交易服务中心
  • 重庆网站维护公司做网站给不给源代码
  • 会建网站的人wordpress安装系统
  • 密云成都网站建设临汾建设局官方网站
  • 博客园网站开发dedecms免费模板
  • 闸北区网站建设网页设计jsp做网站好不好
  • 朝阳市营商环境建设监督局网站360网站排名优化
  • 重庆网站建设技术外包移动网站虚拟主机
  • 网站备案应该怎么做php网站开发都需要什么软件
  • oa网站建设网站建设怎么在图片上加字
  • 采购网站有哪些手机制作最简单钓鱼网站
  • dns网站卫士 收录软件技术培训机构
  • 用糖做的网站临沂网
  • 深圳网站开发制作徐州关键词排名优化
  • seo网站建设视频wordpress侧边栏导航代码
  • 海口小微企业网站建设微网站运营
  • 2008系统怎么搭建多个网站做网站可以用哪些语言
  • 微信h5游戏网站建设网站推广一般办法
  • 大兴区制作网站的公司龙溪网站制作
  • 学做网站论坛怎么样大宗商品交易平台有哪些
  • 网站推广的工具湖南长沙市区哪里好玩