winforms 相关问题

WinForms是Windows Forms的非正式名称,Windows Forms是Microsoft .NET Framework和Mono中的GUI类库。此标记中的问题也应使用目标框架([.net]或[mono])标记,并且通常应使用编程语言标记进行标记。

如何使用 Autofac 与 Winforms 来注入依赖项

我正在努力学习Autofac。我找不到 Winforms 的工作示例。在我的program.cs中我有这个: 公共静态 IContainer 容器 { 获取;私人套装; } /// /// 主要... 我正在尝试学习Autofac。我找不到 Winforms 的工作示例。在我的 program.cs 我有这个: public static IContainer Container { get; private set; } /// <summary> /// The main entry point for the application. /// </summary> [STAThread] private static void Main() { var builder = new ContainerBuilder(); builder.Register(c => new MyContext()); Container = builder.Build(); ... using (var loginForm = new LoginForm(new MyContext())) { DialogResult results; do { results = loginForm.ShowDialog(); if (results == DialogResult.Cancel) Environment.Exit(1); } while (results != DialogResult.OK); UserName = loginForm.ValidatedUserName; } } MyContext() 是一个 DbContext。我想将 MyContext() 注入到我的 LoginForm() 中,但我还没有完全弄清楚。 LoginForm()的前几行: public partial class LoginForm : Form { private readonly MyContext _context; public LoginForm(MyContext context) { InitializeComponent(); _context = context; } ... } 如有任何建议,我们将不胜感激。 也注册表格: var builder = new ContainerBuilder(); builder.RegisterType<MyContext>(); builder.RegisterType<LoginForm>(); Container = builder.Build(); 然后从容器中解析表单: using (var loginForm = Container.Resolve<LoginForm>()) { DialogResult results; do { results = loginForm.ShowDialog(); if (results == DialogResult.Cancel) Environment.Exit(1); } while (results != DialogResult.OK); UserName = loginForm.ValidatedUserName; } 然后 MyContext 将在表单解析时自动注入。默认情况下,Autofac 注册注册为“self”(即它们可以解析为自己的类型)和“每个依赖项的实例”(每次解析时都会获得一个新的),因此您可以安全地保留 using在这种情况下。 免责声明:我以前没有使用过Autofac。 我的解决方案基于文档,您将需要更改: builder.Register(c => new MyContext()); 到 builder.Register(c => new MyContext()).AsSelf(); 这是为了让 Autofac 能够找到需要创建的依赖关系。 然后您需要更改: using (var loginForm = new LoginForm(new MyContext())) { ... } 成为: using (var scope = Container.BeginLifetimeScope()) { using (var loginForm = new LoginForm(scope.Resolve<MyContext>())) { ... } } 行 scope.Resolve<MyContext>() 将根据您注册的内容创建依赖项。 最佳实践是注册类及其使用服务类的形式。然后通过容器创建表单实例。通过这种方法,实现了依赖注入。 var builder = new ContainerBuilder(); builder.RegisterInstance(new AService()).As<IAService>(); builder.RegisterType<LoginForm>(); container = builder.Build(); using (var scope = container.BeginLifetimeScope()) { var loginForm= scope.Resolve<LoginForm>(); Application.Run(loginForm); }

回答 3 投票 0

如何以编程方式将小型数据库添加到 Windows 窗体项目?

我最近完成了我的第一个小Windows窗体应用程序,但我使用Access制作了一个数据库来填充下拉列表,并且它似乎希望用户有一个愚蠢的数据库驱动程序。我决定给予...

回答 1 投票 0

如何以编程方式将小型数据库添加到Windows窗体项目?

我最近完成了我的第一个小Windows窗体应用程序,但我使用Access制作了一个数据库来填充下拉列表,并且它似乎希望用户有一个愚蠢的数据库驱动程序。我决定给予...

回答 1 投票 0

自动选择下拉列表中长度最长的选项

我希望这个组合选择框自动突出显示列表中最长的选项。 foreach($onedriveaccounts 中的$onedriveaccount) { $comboBox1.Items.add($onedriveaccount) # 这个循环...

回答 1 投票 0

将 2 个单选按钮分组到 Windows 应用程序的同一组中

我有一个关于如何将 2 个单选按钮分组到 Windows 应用程序的同一组中的问题。 我google了一下,一般有2个解决方案: 使用组框或 使用面板。 我还发现有人说: ...

回答 1 投票 0

如何使用 DataBindingNavigator 在 .NET 中的 WinForms 导航之前验证表单数据输入?

我刚刚开始使用 C# 进行 .NET 开发。尽管我已经熟悉了该语言本身,但我需要一些有关框架特性的帮助。 我正在构建一个 Windows 窗体

回答 3 投票 0

如何在 ListBox WinForm 中将值拆分为单独的行?

如何在ListBox WinForm中将值拆分成单独的行,但将它们保留在一行中 foreach(allBus 中的 var 总线) { string busRouteInfoText = $"Название маршрута: {bus[1]} ” + ...

回答 1 投票 0

如何从不同的类访问变量?

我有一个 UserControl 类、一个主窗体类和一个 DbConn 类。 我想从其他两个类“作为中间人”访问 DbConn 类。所以 UserControl 应该设置 DbConn-Clas 的字符串...

回答 1 投票 0

C# 表单应用程序 - “资源”不包含

我不是 C# 程序员。只是想组装一个小型实用应用程序。我遇到了一个没有意义的问题。 我在我的解决方案中添加了一些资源: 并将其属性设置为 c...

回答 1 投票 0

在 winforms 中运行代码时出现空白屏幕。我该如何解决?

我已经完成编码,并且当我运行代码时我的构建成功,但是我的 form1 显示为空白。下面是我的代码。 命名空间 AccountsApp { 公共部分类 Form1 :表格 { 私人

回答 1 投票 0

多个用户同时按下按钮,导致C#无限循环失效

我在WinForm项目上有一个c#无限循环代码,它在SQL中使用一个在1/0之间交替的值,如果它是0,它将继续该过程,而如果它是1,它将留在循环中。纯粹...

回答 1 投票 0

在php页面中使用CRM bitrix24表单嵌入代码

帮助我使用 CRM Bitrix 24 嵌入代码。我想在我的 PHP 网页中使用此代码。我该如何使用它。实际上,当我单击 PHP 页面中的按钮时,我想弹出此表单。任何人都可以帮助我...

回答 1 投票 0

如何从 winforms 编辑 Excel 文件?

我有一个用于处理订单的 winforms 应用程序。我需要打印订单信息以提供给客户。我希望能够使用 alr 从应用程序中打开 Excel 文件...

回答 1 投票 0

将 DataGridView 绑定到 List(Of String) 显示长度而不是字符串

如果我将 DataGridView.DataSource 绑定到 List(Of String),则会显示字符串的长度,而不是字符串本身。 如何显示字符串值?

回答 1 投票 0

C# 在单独线程上调用按钮控件

我看到了很多关于如何从不同线程编辑 C# 表单上的控件的问题,但对我来说没有多大意义。我知道你不能从另一个线程更改任何 UI'...

回答 3 投票 0

在循环中向每个按钮添加事件 C#

我需要为每个按钮添加一个单击事件。 单击该按钮时,它会向 SQL 数据表添加点,但我可以自己完成,我只需要启动时的帮助。 对于 (int i = ...

回答 1 投票 0

如何在WinForms中使用Code First创建新数据库

我想使用代码优先的方法制作MSSQL。 我定义了两个模型 - 产品和类别,然后定义了 DbContext,如下所示: 公共类ApplicationDbContext:DbContext...

回答 1 投票 0

声明中缺少部分修饰符..存在这种类型的另一个部分声明”。我是初学者,只是按照这本书来操作

我是初学者,我正在按照书本做练习。下面是我的代码,我得到了这个 “类型“Windowsform.Form1”声明中缺少部分修饰符;该类型的另一个部分声明...

回答 7 投票 0

在 VB.NET 中用 X 模拟结束形式

除了 SendKeys 之外还有其他方法可以模拟手动关闭表单吗? 我需要尽可能模拟“自然”形式的闭包,这意味着我需要字面意义上的(如果可能的话)

回答 1 投票 0

如何使用 Microsoft Visual Studio 使用 C# Windows 窗体将文件中的图像加载到图片框中

我的项目有一些问题。我正在使用 Microsoft Visual Studio 的 C# Windows 窗体。 谁能帮我如何将文件中的图像加载到图片框中?我的图像文件夹中有 300++。 ...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.