如何使用打开文件对话框?

2023-12-20

我正在尝试编写代码来使用公钥加密文本并使用私钥和密码进行解密。

我不太擅长编程语言,因为我不是编程学生。但对于我的小型项目,我需要编写一些有关加密的程序。

对于下面的代码,使用我的 C 驱动器中的文本文件来使用公钥进行编码。 但我想使用 openfiledialog 来选择文件而不是手动引导它(不太实用)

如果有人能帮助我编辑代码,我真的很感激。 附:我真的不知道如何将 openfiledialog 应用于我的代码。当我使用来自 youtube 和 google 的信息时,我不断收到错误。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using DidiSoft.Pgp;

namespace TEST2
{
    public partial class Form1 : Form
    {
        PGPLib pgp = new PGPLib();
        public Form1()
        {
            InitializeComponent();
        }

        private void encryptButton_Click(object sender, EventArgs e)
        {
            string testingstring = pgp.EncryptString(testTextBox.Text, new FileInfo(@"c:\TCkeyPublic.txt"));
            encryptedtextTextBox.Text = testingstring;
        }

        private void decryptButton_Click(object sender, EventArgs e)
        {
            try
            {
                String plainString = pgp.DecryptString(encryptedtextTextBox.Text,
                new FileInfo(@"c:\TCkeyPrivate.txt"), passphraseTextBox.Text);
                decryptedtextTextBox.Text = plainString;
                encryptedtextTextBox.Text = "";
                passphraseTextBox.Text = "";
            }
            catch
            {
                MessageBox.Show("ERROR! Please check passphrase and do not attempt to edit cipher text");
            }
        }

        private void passphraseTextBox_TextChanged(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}

假设您使用的是 WinForms。

只需创建一个实例OpenFileDialog, call ShowDialog如果用户没有取消操作,则读取FileName属性:它将包含所选文件的完整路径。在代码中:

var dlg = new OpenFileDialog();
if (dlg.ShowDialog() != DialogResult.OK)
    return;

new FileInfo(dlg.FileName, passphraseTextBox.Text);

当然你可能需要让用户快速过滤要显示的文件,你可以使用Filter财产:

var dlg = new OpenFileDialog();
dlg.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";

您甚至可以允许多项选择,设置Multiselect to true您将获得所有选定的文件FileNames财产:

var dlg = new OpenFileDialog();
dlg.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
dlg.Multiselect = true;

if (dlg.ShowDialog() != DialogResult.OK)
    return;

foreach (var path in dlg.FileNames)
{
    new FileInfo(path, passphraseTextBox.Text);
    // ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用打开文件对话框? 的相关文章

  • VB.NET 相当于 C# 属性简写吗?

    是否有与 C 等效的 VB NET public string FirstName get set 我知道你能做到 Public Property name As String Get Return name ToString End Ge
  • 如何读取扩展文件属性/文件元数据

    因此 我按照教程使用 ASP net core 将文件 上传 到本地路径 这是代码 public IActionResult About IList
  • 如何将 #ifdef DEBUG 添加到 Xcode?

    我的项目中有一些代码永远不应该在发布版本中使用 但在测试时很有用 我想做这样的事情 ifdef DEBUG Run my debugging only code endif 在 Xcode 4 中哪里添加 DEBUG 设置 我尝试将其放入
  • 如何修复此错误“GDI+ 中发生一般错误”?

    从默认名称打开图像并以默认名称保存 覆盖它 我需要从 Image Default jpg 制作图形 将其放在 picturebox1 image 上并在 picurebox1 上绘制一些图形 它有效 这不是我的问题 但我无法保存 pictu
  • 将内置类型转换为向量

    我的 TcpClient 类接受vector
  • 如何访问另一个窗体上的ListView控件

    当单击与 ListView 所在表单不同的表单中的按钮时 我试图填充 ListView 我在 Form1 中创建了一个方法以在 Form2 中使用 并将参数传递给 Form1 中的方法 然后填充 ListView 当我调试时 我得到了传递的
  • C++中的类查找结构体数组

    我正在尝试创建一个结构数组 它将输入字符串链接到类 如下所示 struct string command CommandPath cPath cPathLookup set an alarm AlarmCommandPath send an
  • 将 System.Windows.Input.KeyEventArgs 键转换为 char

    我需要将事件参数作为char 但是当我尝试转换 Key 枚举时 我得到的字母和符号与传入的字母和符号完全不同 如何正确地将密钥转换为字符 这是我尝试过的 ObserveKeyStroke this new ObervableKeyStrok
  • 在 C# 中循环遍历文件文件夹的最简单方法是什么?

    我尝试编写一个程序 使用包含相关文件路径的配置文件来导航本地文件系统 我的问题是 在 C 中执行文件 I O 这将是从桌面应用程序到服务器并返回 和文件系统导航时使用的最佳实践是什么 我知道如何谷歌 并且找到了几种解决方案 但我想知道各种功
  • 无法在 Windows 运行时组件库的 UserControl 中创建依赖项属性

    我想在用户控件内创建数据可绑定属性 这个用户控件包含一个 Windows 运行时组件 项目 我使用下面的代码来创建属性 public MyItem CurrentItem get return MyItem GetValue Current
  • 如何在 C# 中定义文本框数组?

    您好 当我在 Windows 申请表上创建文本框时 我无法将其命名为 box 0 box 1 等 我这样做的目的是因为我想循环使用它们 其实我发现TextBox array firstTextBox secondTextBox 也有效
  • 如何将整数转换为 void 指针?

    在 C 中使用线程时 我面临警告 警告 从不同大小的整数转换为指针 代码如下 include
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • Visual Studio 中的测试单独成功,但一组失败

    当我在 Visual Studio 中单独运行测试时 它们都顺利通过 然而 当我同时运行所有这些时 有些通过 有些失败 我尝试在每个测试方法之间暂停 1 秒 但没有成功 有任何想法吗 在此先感谢您的帮助 你们可能有一些共享数据 检查正在使用
  • 如何使用 Mongodb C# 驱动程序连接多个集合

    我需要将 3 个集合与多个集合合并在一起 lookup我在 C 驱动程序中尝试过 它允许我 lookup用户采集但无法执行秒 lookup用于设置集合 有人可以帮忙吗 db Transactions aggregate lookup fro
  • 将 log4net 与 Autofac 结合使用

    我正在尝试将 log4net 与 Autofac 一起使用 我粘贴了这段代码http autofac readthedocs org en latest examples log4net html http autofac readthed
  • 私有模板函数

    我有一堂课 C h class C private template
  • C++ 密码屏蔽

    我正在编写一个代码来接收密码输入 下面是我的代码 程序运行良好 但问题是除了数字和字母字符之外的其他键也被读取 例如删除 插入等 我知道如何避免它吗 特q string pw char c while c 13 Loop until Ent
  • Process.Start() 方法在什么情况下返回 false?

    From MSDN https msdn microsoft com en us library e8zac0ca v vs 110 aspx 返回值 true 表示有新的进程资源 开始了 如果由 FileName 成员指定的进程资源 St
  • 编译时“strlen()”有效吗?

    有时需要将字符串的长度与常量进行比较 例如 if line length gt 2 Do something 但我试图避免在代码中使用 魔法 常量 通常我使用这样的代码 if line length gt strlen Do somethi

随机推荐

  • Log4Net - 我可以在 Config 中拥有自定义部分名称吗

    我需要在配置部分使用除 log4net 之外的部分名称 我知道这是我们通常使用的 section type section 但我需要有一个这样的部分 section type section 我正在开发一个 sitecore 网站 它有自己
  • 使用便携式打印机通过蓝牙与 Delphi XE7 连接

    我正在尝试与世宇LK P32通过蓝牙打印机 为此 我正在使用德尔福XE7 我用 Delphi 做了一些例子 但没有成功 我将配对的打印机放在平板电脑上 即使这样我也无法连续打印 当我打印某些内容时 必须重新启动应用程序 以便我可以再次打印某
  • 父目录中的 htaccess 导致“RewriteEngine not allowed here”

    目前 我正在使用 OSX Server Yosemite 托管一堆 PHP 应用程序 其中一些应用程序在网站文档根目录下有一个用于子域的子目录 自从更新到 OSX Server 的 Yosemite 版本以来 这些子域一直抛出 500 错误
  • Python 中的时间戳服务器 rfc3161 响应令牌生成

    我正在尝试使用twisted在python上实现tsa服务器 目前我正在使用 openssl 二进制文件来生成响应 但这对我来说似乎很难看 这就是为什么我试图弄清楚如何使用 m2crypto 制作响应令牌 预先感谢您的帮助 Maris ED
  • Kotlin 中“external”关键字的用途是什么?

    其目的到底是什么externalKotlin 中的关键字 我猜这是 JNI 之类的native在Java中 但我似乎找不到任何关于此的实际参考或文档 事实上 它相当于Java的native 目前文档中缺少它 但有一个issue https
  • 群体内正常化

    假设我们有以下数据集 import pandas as pd data apple red 155 apple green 102 apple iphone 48 tomato red 175 tomato ketchup 96 tomat
  • Ajax 无法与 jquery 一起使用 Flip!插入

    我正在尝试使用 FLIP 插件并通过 ajax 加载其内容 不过我遇到了问题 它只是不起作用 我可以看到 firebug 中发生的 post 事件 但当我在 FLIP 中填充 content 参数时 似乎没有任何变化 插入 下面是我的代码
  • ffmpeg 和 DVB 字幕缩放

    我尝试对视频中的 DVB 字幕进行硬编码 我设法对其进行硬编码 但它仍然错位 原因是字幕的分辨率为标清 720x576 而视频的分辨率为 1920x1080 因此 当我使用叠加时 字幕错位并位于左角 这是我的命令 ffmpeg canvas
  • Chrome 中的边框半径错误?

    我对 chrome 中的边框半径有疑问 这是我的代码 img border radius 24px border 2px solid c7c7c7 moz border radius 24px webkit border radius 24
  • 在Wpf应用程序中实现快捷键

    我是 wpf 应用程序的新手 我正在开发应用程序 我已经创建了一个菜单现在我想在快捷键 ctrl o ctrl n 等上功能菜单项事件 我该怎么做 请详细说明 你可以通过以下方式做到这一点 在 Xaml 文件中
  • 自定义损失问题:急切执行函数的输入不能是 keras 符号张量,但发现

    我使用tensorflow keras自定义损失 使用额外的输入数据来计算损失 的代码如下 inp Input shape inp seq len feature size w Input shape 1 code ommitted def
  • 使用 PHP Gettext 无需安装语言环境

    我一直在寻找国际化开源项目的选项 Gettext 似乎每个人都推荐 显然需要 安装在您的系统上 才能使用语言环境 看到这个note http www php net manual en book gettext php 91187PHP手册
  • 如何使用 IN 运算符整理 SQL_Latin1_General_CP1_CI_AS

    我想过滤 电子邮件 上的记录 我的查询是这样的 SELECT FROM temp WHERE email NOT IN SELECT email FROM Customer 它给了我以下错误 无法解决排序规则冲突 在 SQL Latin1
  • 如何通过 OLEDB 或 SSIS 中的任何其他源连接 Excel 源?

    除了 Excel 连接管理器 之外 还有其他方法可以将 Excel 连接为 SSIS 中的源吗 我问这个问题是因为我在使用 Excel 连接管理器 连接 Excel 时遇到问题 因为在我的系统中安装了 32 位 Excel 而 Visual
  • 使用 jest customFormat 和默认 printf 测试记录器

    我已经使用winston morgan 和winston daily rotate file express http context 实现了node js 的记录器 因此 每天当任何 http 请求 摩根 或开发人员定义的记录器消息写入文
  • 如何通过您的应用程序运行traceroute命令?

    我想通过我的应用程序运行traceroute 命令 我该怎么做呢 Runtime getRuntime exec traceroute google com 不工作 java io IOException 运行 exec 时出错 命令 tr
  • 在 MATLAB 的搜索路径上找不到 MATLAB 超类

    我有两条路 C controller functions verifyModel m C OGVD prod KMLP controller controllerStatus m 验证模型 m classdef verifyModel me
  • 添加一个类似于本机应用程序的设置页面

    我想创建设置页面 它看起来像本机平台上的设置 例如 Android 上带有 xml 的 PreferenceActivity Fragment 我习惯于通过在 Android 上创建简单的首选项 xml 来设计设置页面 它可以完美地处理基本
  • 使用 Pandas OLS 进行预测

    我一直在使用scikits statsmodels OLS 预测 http statsmodels sourceforge net generated scikits statsmodels regression linear model
  • 如何使用打开文件对话框?

    我正在尝试编写代码来使用公钥加密文本并使用私钥和密码进行解密 我不太擅长编程语言 因为我不是编程学生 但对于我的小型项目 我需要编写一些有关加密的程序 对于下面的代码 使用我的 C 驱动器中的文本文件来使用公钥进行编码 但我想使用 open