小编Rez*_*aei的帖子

在 Windows 窗体应用程序中托管 ASP.NET Core API

背景:我正在处理一个涉及 WinForms 应用程序的项目。客户端想要公开一个仅限本地的 HTTP 服务器,以允许其他应用程序通过 REST API(或类似的)在 WinForms 应用程序的运行实例上触发功能。首选是使用 ASP.NET Core 实现上述 API。

因此,我的问题是:如何构建一个项目以在同一进程中同时拥有 ASP.NET Core API 和 WinForms GUI?有什么陷阱我需要警惕吗?

.net c# winforms asp.net-core asp.net-core-webapi

11
推荐指数
1
解决办法
3894
查看次数

向 .NET 5.0 上的 Windows 窗体添加配置

我正在将现有的 Windows 窗体 C# 应用程序迁移到 .NET 5.0,并且我正在尝试按照迁移文档中提供的说明进行操作。一切正常,但还有一件事要做:从 app.config 文件迁移调试/发布设置。

我曾考虑过重用 NET Core 的IConfiguration,但是将 Microsoft.Extensions.Configuration nuget 包添加到项目中(以便我能够创建ConfigurationBuilder实例)似乎会破坏一切(例如,using System;将开始生成编译错误)。

关于发生了什么的任何想法?你们如何将 Windows 窗体应用程序上的设置从 4.8 迁移到 .NET 5.0?

c# winforms .net-5

11
推荐指数
1
解决办法
3653
查看次数

我如何让Rebar的.NET包装器决定鼠标光标?

我正在Rebar为.NET 做一个包装器.这是我如何控制自己.

public class Rebar : Control {

    public Rebar() : base() {
        //Control won't even work if I let UserPaint enabled
        SetStyle(ControlStyles.UserPaint, false);
    }

    protected override CreateParams CreateParams {
        get {
            CreateParams cp = base.CreateParams;
            cp.ClassName = "ReBarWindow32"; //REBARCLASSNAME
            cp.ExStyle |= 0x00000080; //WS_EX_TOOLWINDOW
            //Windows Forms will control the position and size, not the native control
            cp.Style |= 0x00000004 | 0x00000008; //CCS_NORESIZE and CCS_NOPARENTALIGN
            return cp;
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我通过REBARBANDINFO在控件和IT WORKED中添加一个来测试我的控件.

REBARBANDINFO info = new REBARBANDINFO(); …
Run Code Online (Sandbox Code Playgroud)

.net c# pinvoke custom-controls winforms

10
推荐指数
1
解决办法
163
查看次数

在 .Net Core 类库中使用 Windows 窗体 - .NET Core 控件库

我正在尝试创建一个引用 .net core 3 版本的 winform 的 .net core 3 类库(因此该程序集本身可以被 .net core 3 WinForm 程序集引用)。

一个新的 .net 核心 WinForm 项目引用了 Microsoft.WindowsDesktop.App.WindowsForms,但是我找不到任何具有该名称的 nuget 包。

我需要做什么来引用 .net core 3 winform?

c# winforms .net-core

10
推荐指数
3
解决办法
8754
查看次数

Windows 窗体中的数据注释支持

我想在 Windows 窗体应用程序 (WinForms) 中的类和实体上使用数据注释。我使用 windows DataGridViews 和 Infragistics UltraGrids。我之前已经成功使用该[DisplayName("Name to Display")]属性在 DataGridView/UltraGrid 上设置列标题文本。

这是非常有益的,因为我可能有几个网格显示这个类,而不是配置每个网格来显示适当的标题文本,我可以简单地设置一个数据注释。

我还想使用以下数据注释:

  • 展示
  • [显示(自动生成字段=假)]
    • 不显示此列
  • [显示(订单=N)]
    • 将此列显示为网格中的第 n 列
  • 显示列
  • [DisplayColumn("ColumnName")]
    • 如果此对象是另一个对象的属性,则显示此列值而不是对象类型
  • 显示格式
  • [DisplayFormat(DataFormatString="{0:formatstring}")]
    • 使用指定的格式字符串格式化数据
  • 数据类型
  • [数据类型(数据类型.货币)]
    • 以默认本地货币格式将数据显示为货币

例子

给定以下带注释的数据类:

public class Item
{
    //Specifies that the column should not be displayed
    [Display(AutoGenerateField = false)] 
    public int ItemID { get; set; }

    //Specifies that the column should be the 1st column in the datagridview
    [Display(Order = 1)]
    public int Name { get; set; } …
Run Code Online (Sandbox Code Playgroud)

.net c# winforms data-annotations

9
推荐指数
2
解决办法
3445
查看次数

使用C#.net在winform中调用和使用Web API

我是初学者并创建winform应用程序.其中我必须使用API​​进行简单的CRUD操作.我的客户与我共享了API,并要求以JSON的形式发送数据.

API:http://blabla.com/blabla/api/login-valida

KEY:"HelloWorld"

价值:{"email":"user@gmail.com","密码":"123456","时间":"2015-09-22 10:15:20"}

响应:Login_id

如何将数据转换为JSON,使用POST方法调用API并获得响应?

编辑 stackoverflow上的某个地方我找到了这个解决方案

public static void POST(string url, string jsonContent)
    {
        url="blabla.com/api/blala" + url;
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(baseURL);
        request.Method = "POST";

        System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
        Byte[] byteArray = encoding.GetBytes(jsonContent);

        request.ContentLength = byteArray.Length;
        request.ContentType = @"application/json";

        using (Stream dataStream = request.GetRequestStream())
        {
            dataStream.Write(byteArray, 0, byteArray.Length);
        }
        long length = 0;
        try
        {
            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
                length = response.ContentLength;

            }
        }
        catch
        {
            throw;
        }
    }
//on my login …
Run Code Online (Sandbox Code Playgroud)

.net c# json winforms asp.net-web-api

9
推荐指数
3
解决办法
5万
查看次数

如何在WIndows表单应用中应用Border to combobox?

在我的应用程序中,我添加了Combobox,如下图所示

在此输入图像描述

我已将组合框属性设置为

cmbDatefilter.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
Run Code Online (Sandbox Code Playgroud)

而现在我的问题是如何将边框样式设置为组合框以使其看起来不错.

我在下面的链接验证

平面样式组合框

我的问题与以下链接不同.

Windows窗体应用程序中的通用ComboBox

如何覆盖UserControl类来绘制自定义边框?

.net c# combobox winforms

9
推荐指数
2
解决办法
1万
查看次数

当文本太长时,StatusStrip标签不可见

我有一个StatusStrip停靠在C#表单的底部,它包含一个标签,其中的文本显示正常,除非文本长度较长,然后根本不显示,我必须加宽表格然后全部突然之间出现了.是否可以在下面的表格中显示:

    This is a very long tex...
Run Code Online (Sandbox Code Playgroud)

从而使用户知道应用程序是显示的东西,然后他就可以扩大它自己,因为当它是完全不可见,它并不表示任何用户.

.net c# toolstrip statusbar winforms

9
推荐指数
2
解决办法
2221
查看次数

在Visual Studio窗体窗体中在面板上使用不透明度的任何技巧?

我最近开始探索Visual Studio.我试图创建一个幻灯片菜单.更具体地说,当用户按下按钮时,子菜单会弹出到右侧.为了实现这一点,我已经放置了一个Panel调整自己的大小.除了功能,我想添加更多的设计,使Panel显示有点褪色.

我知道Panels在Visual Studio中没有不透明度,但我在想是否有人知道如何实现它的方法技巧.我尝试过Picture Box但是也没有Opacity作为属性.我避免使用Menuvisual studio提供的常规对象,因为我想添加更多设计.有任何想法吗?

.net c# panel opacity winforms

8
推荐指数
2
解决办法
2万
查看次数

Visual Studio颜色属性编辑器中的自定义调色板

在Visual Studio设计,在属性窗口下,您可以选择ForeColor,BackColor使用颜色选择器等.当您想要选择颜色时,颜色选择器会出现"自定义,Web,系统"选项卡.如果选择自定义,则可以向选择器添加新颜色,但只有底部2行可以更改,并且更改不会在控件之间保留.因此,如果您向调色板添加颜色,当您选择另一个控件并想要更改时,例如BackColor您之前添加的颜色不存在.

有没有办法在设计师的颜色选择器控件中创建和导入一组自定义颜色?

注意:这个问题不是询问VS主题,或者是否可以在代码隐藏中将颜色实现为类.我正在寻找一种定制设计师的方法.

.net c# windows-forms-designer visual-studio winforms

8
推荐指数
1
解决办法
6411
查看次数