小编Rez*_*aei的帖子

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
查看次数

使用Windows拖动复制光标

我可以这样设置光标:

Me.Cursor = Cursors.Cross
Run Code Online (Sandbox Code Playgroud)

使用IntelliSense,我找不到此“复制”光标:

复制光标

有什么办法可以通过托管的方式获得它吗?我不想加载位图左右。我想把它留给Windows,因为用户可能已经更改了光标大小或设置了不同的颜色模式。

.net c# winforms

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

如何在视觉上连接2个圆圈?

我们知道2个圆'x和y中心位置,半径是相同的.我想在视觉上连接圆圈,而不是为线上的每个点循环绘制椭圆,连接的是2个圆的中心.

由此:

对此:

码:

int radius = 75;

int x1 = 100;
int y1 = 200;

int x2 = 300;
int y2 = 100;

g.FillEllipse(Brushes.Blue, new Rectangle(x1 - radius / 2, y1 - radius / 2, radius, radius));
g.FillEllipse(Brushes.Blue, new Rectangle(x2 - radius / 2, y2 - radius / 2, radius, radius));
Run Code Online (Sandbox Code Playgroud)

.net c# gdi+ winforms

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

报告哈希进展情况

我通过下面提供的代码学习文件的MD5哈希值.但是,随着文件大小的增加,计算也需要很长时间.我想在进度条对象上反映这个计算,但我不知道.

我想要这样的东西;

progressBar.Value = mD5.ComputedBytes;
progressBar.Maximum = mD5.TotalBytesToCompute;
Run Code Online (Sandbox Code Playgroud)

怎么做到这个?

码;

public static string getMD5HashFromFile(string fileName)
{
    string str = "";
    using (MD5 mD5 = MD5.Create())
    {
        using (FileStream fileStream = File.OpenRead(fileName))
        { str = BitConverter.ToString(mD5.ComputeHash(fileStream)).Replace("-", string.Empty); fileStream.Close(); }
    }
    return str;
}
Run Code Online (Sandbox Code Playgroud)

.net c# hash md5 winforms

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

通过 WinForms 使用解决方案范围的资源

我有一个 Visual Studio 2017 解决方案,它分为多个 C#-WinForm 应用程序。

为了拥有类似的用户界面,我将所有图标/图片放入一个项目(ResourceProject)中,并将资源文件标记为公共。

通过直接编辑表单的 .Designer 文件,我现在可以通过声明将图像显式分配给 ResourceProject 的资源文件中的某些内容

button1.Image = ResourceProject.Properties.Resources.DemoPic
Run Code Online (Sandbox Code Playgroud)

然而,设计者有时会用以下内容覆盖它:

button1.Image = ((System.Drawing.Image)resources.GetObject("button1.Image")));
Run Code Online (Sandbox Code Playgroud)

并创建一个嵌入图像的本地资源文件。

这正是我首先想要避免的,因为我可能想稍后轻松地更改一些图标并将这些更改直接传播到所有项目。

避免这种情况的唯一方法似乎是不在设计器文件中分配图像,而是在实际表单文件中以其他方法分配图像。

还有其他方法可以解决这个问题吗?

.net c# embedded-resource windows-forms-designer winforms

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

带有从左到右移动文本的新闻滚动条

我正在尝试制作一个 RSS 新闻收报机,它将显示文本,文本需要从左到右移动

在此输入图像描述

我制作了代码,文本从左向右移动,但在特定时间后它不显示全文,我将从管理面板添加更多新闻,每次我添加新闻时,文本在第一个新闻之后不会显示滚动

下面的截图是经过一定时间后,只显示部分新闻 在此输入图像描述

使用的代码

int x = -800,y=1;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);

    private void timer1_Tick(object sender, System.EventArgs e)
        {

            label1.SetBounds(x, y, 1, 1);
            x++;
            if(x>=800)
            {
                x = 4;
            }

        }
Run Code Online (Sandbox Code Playgroud)

读取xml的代码

private void StartRssThread()
        {
            List<RssChannel> channels = new List<RssChannel>();
            StringBuilder mergedFeed =  new StringBuilder();
            int mh = 0;


                int ms = 0;
                if (mh < 7)
                {
                    RssFeed DaFeed = RssFeed.Read("http://shjc.ae/rss/fileName.xml");
                    RssChannel DaChannel = (RssChannel)DaFeed.Channels[0];
                    channels.Add(DaChannel);
                    mergedFeed.AppendFormat(" {0}: ", DaChannel.Title);

                    foreach (RssItem sTrm in DaChannel.Items)
                    { …
Run Code Online (Sandbox Code Playgroud)

.net c# marquee winforms

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

根据ValueMember从Combobox中获取索引

我有一个组合框,将一个name作为 DisplayMember 和一个id作为 ValueMember 存储。在我的数据库中,我仅存储id.

如何将其设置为正确的索引id

示例代码:

Combobox.SelectedIndex = Combobox.FindByValueMember("10");
Run Code Online (Sandbox Code Playgroud)

我能找到的最好的就是这个问题,但投票最多的答案并没有理解问题是什么。

int index = comboref.Items.IndexOf("string");
Run Code Online (Sandbox Code Playgroud)

不起作用,因为它不按 ValueMember 进行搜索。

回答了这个问题,但我想知道是否有更好的方法来做到这一点。

.net c# combobox winforms

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

如何在 C# WinForms 上以 3d 坐标绘制点?

我想在 WinForms 应用程序的运行时绘制点。我怎么做?

.net c# gdi+ winforms

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