小编Rez*_*aei的帖子

Windows Forms 表单看起来不是原生的

我已经向VB.net应用程序添加了一个 Windows 窗体窗体,并以通常的方式显示它:

Dim form As New FormInsCapiLettore()
form.ShowDialog()
Run Code Online (Sandbox Code Playgroud)

问题是该窗体在显示时具有非常丑陋的“windows 95”样式。基本上系统主题(在我的例子中是 Windows 10)没有得到应用。结果在下面的屏幕截图中:

在此处输入图片说明

正如您所看到的,它不仅看起来丑陋和非原生,而且布局也搞砸了:注意TextBox“输入”之外的溢出GroupBox和“精细”Button没有填充垂直空间。请注意,该表单在 Visual Studio 设计器中看起来非常好,具有原生外观!但是当启动时,表单没有主题,看起来像屏幕截图。

有什么线索吗?附加信息:运行针对 .NET 4.0 编译的 Windows 10 x64 Visual Studio 2015 应用程序

vb.net forms winforms

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

将 DesignerSerializationVisibility 的默认值设置为隐藏

DesignerSerializationVisibility有没有办法为给定类的所有属性设置属性的默认值?

在实践中,有一种方法可以使用白名单方法来切换将属性列入黑名单的默认行为。

谢谢

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

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

StreamWriter不写

我正在尝试.txt使用创建文件StreamWriter.我希望能够读取文本文件,然后自动将该文件的内容写入新.txt文件并将其存储到具有相同文件名的应用程序根目录.(希望这是有道理的.)
目前我无法找到解决方案让一切正常.请看我的代码.任何指导将不胜感激.

private void button1_Click(object sender, EventArgs e)
{
    //read in a .txt file//  this all works fine
    OpenFileDialog op = new OpenFileDialog();
    if (op.ShowDialog() == DialogResult.OK) 
    richTextBox1.LoadFile(op.FileName, RichTextBoxStreamType.PlainText);
    this.Text = op.FileName;

    string filename = op.FileName;


    // not working //   
    //create new .txt file contaning module notes

    StreamWriter writer = new StreamWriter("..\\"op.FileName".txt" );
    using (writer)
    {
        writer.Write(richTextBox1);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# winforms

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

在其他控件上方显示透明加载微调器

我在旋转控制器中工作.我希望控件支持透明背景色.当绘制弧线时,中间有一个空白区域,我希望该空间真正透明,这样我就可以在它后面放置另一个控件,它不会被旋转器覆盖.

我尝试重写CreateParams void.
我还设置了样式以支持TransparentColor.
尝试重写OnPaintBackground无效,但我无法实现真正​​透明的背景色.

那么,你能建议我做什么?

.net c# gdi+ custom-controls winforms

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

VB.NET特定的字符串格式

我有一个字符串,让我们称之为"S",它可以是最多8位数的日志,我想将它对齐在一个字符串中,然后在一个文本文件中对齐8个空格(chr(32))

防爆.(我在示例中添加了下划线来标​​记空白.

S="1234"    should result in "____1234"
S="444444"  should result in "__444444"
S="abc"     should result in "_____abc"
Run Code Online (Sandbox Code Playgroud)

为此,我将编写以下代码

Public Function feld(ByVal S As String, Optional I As Integer = 8) As String
    Dim lenS As Integer = Strings.Len(S)
    Dim vorS As Integer = I - lenS
    Dim rez As String = ""
    For x = 1 To vorS
        rez += Strings.Chr(32)
    Next
    rez += S
    Return rez
End Function
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方式来做到这一点?

.net vb.net string-formatting

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

使用SqlBulkCopy将CSV文件导入SQL Server

我有这个功能,创建一个表,然后接收一个CSV文件.我需要一个ID列,它会自动递增,以供以后使用.因此,我使用ID字段运行以下查询.在它无法工作之前,因为最初CSV文件没有ID列,所以当它被发送到数据库的时候会出现错误.所以我的下一个想法是在CSV文件中添加一个没有值的空白ID列,然后再次尝试查询.还有问题.我的c#代码中的错误是:"从colcp 1的bcp客户端收到无效的列长度." 我猜的是ID列.有没有办法插入此ID列并同时自动增加?

private void button2_Click(object sender, EventArgs e)
    {
        string connectionString = "Data Source=LPMSW09000012JD\\SQLEXPRESS;Initial Catalog=Pharmacies;Integrated Security=True";
        string query = "CREATE TABLE [dbo].[" + textBox1.Text + "](" +"ID int IDENTITY (1,1) PRIMARY KEY," + "[Code] [varchar] (13) NOT NULL," +
       "[Description] [varchar] (50) NOT NULL," + "[NDC] [varchar] (50) NULL," +
        "[Supplier Code] [varchar] (38) NULL," + "[UOM] [varchar] (8) NULL," + "[Size] [varchar] (8) NULL,)";


        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand command = new SqlCommand(query, connection);
            command.Connection.Open(); …
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server ado.net winforms

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

Winform ToolTip位置设置

我想知道是否有可能通过MouseHover事件以某种方式将ToolTip的弹出窗口定位在应用程序窗体之外的空桌面上的固定点上,当然该事件是否对ToolTip有用(不确定)。或任何其他可能的方式

我不是在问如何显示另一种形式作为实现此目标的一种选择。

.net c# tooltip winforms

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

SaveFileDialog -(文件路径)不存在。验证是否给出了正确的文件名

我想保存一个新的文件名,但现在我只能保存重写文件。每次我尝试保存新文件名时,都会出现一个带有警告对话框的消息框:

(文件路径)不存在。验证是否给出了正确的文件名。”

以下是我的代码,有人可以指出缺少什么吗?谢谢你。

private void button5_Click(object sender, EventArgs e)
{
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();
    saveFileDialog1.Title = "Save File";
    saveFileDialog1.CheckFileExists = true;
    saveFileDialog1.CheckPathExists = true;
    saveFileDialog1.Filter = "Text files (*.txt)|*.txt| CONF(*.conf)|*.conf|All files (*.*)|*.*";
    saveFileDialog1.FilterIndex = 2;
    saveFileDialog1.ShowDialog();

    if (saveFileDialog1.FileName != "")
    {
        // Saves the Image via a FileStream created by the OpenFile method.  
        System.IO.FileStream fs = (System.IO.FileStream)saveFileDialog1.OpenFile();
        // Saves the Image in the appropriate ImageFormat based upon the  
        // File type selected in the dialog box.  
        // NOTE that …
Run Code Online (Sandbox Code Playgroud)

.net c# savefiledialog winforms

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

Windows 窗体中菜单项的上下文相关帮助

我正在为在 Visual Studio .NET 中构建的现有 WinForms 应用程序实现上下文相关帮助。我HelpProvider在表单中添加了 a并将HelpNamespace属性设置为一个美妙的.chm,涵盖表单上的每个控件和菜单项。我已经设置了HelpKeyword所有衍生自的必要控件,Control到目前为止一切都很好:F1 完美运行。

我的问题是我不知道如何为菜单项做到这一点。它们使用ToolStripMenuItem类,该类不派生自Control,因此没有HelpKeyword属性。我应该如何为单个菜单项提供上下文相关的帮助?谷歌先生一直不太热情。

.net c# winforms context-sensitive-help

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

如何重新排列上下文菜单条中的项目?

如何重新排列 a 的项目ContextMenuStrip?例如,如果我创建一个带有按钮的 Windows 窗体应用程序,并将 a 添加ContextMenuStrip到窗体中,并将​​其分配给按钮单击事件,并按顺序添加项目

run process1
run process2
run process3
Run Code Online (Sandbox Code Playgroud)

然后有一天我决定在ContextMenuStrip“运行 process4”中添加另一个项目,我希望序列类似于

run process1
run process4
run process2
run process3
Run Code Online (Sandbox Code Playgroud)

我该如何做到这一点(除了重命名每个项目并交换每个点击事件上的代码)?

.net c# contextmenustrip winforms

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