private void TextBox_Project_Name(object sender, TextChangedEventArgs e) { string Project_Name = textBox1.Text; Console.WriteLine(Project_Name); }这段代码有什么错误?
时间: 2024-02-14 17:04:08 浏览: 88
这段代码的错误在于事件的命名不正确,应该是"TextChanged"而不是"TextChangedEventArgs"。正确的代码应该是:
```
private void TextBox_Project_Name(object sender, TextChangedEventArgs e)
{
string Project_Name = textBox1.Text;
Console.WriteLine(Project_Name);
}
```
另外,您还需要确保已将事件绑定到文本框控件上。可以在窗体的构造函数中添加以下代码来完成绑定:
```
public Form1()
{
InitializeComponent();
textBox1.TextChanged += TextBox_Project_Name;
}
```
这样,每当文本框的文本内容改变时,TextChanged事件就会被触发,并且执行TextBox_Project_Name方法,将文本框中的文本内容输出到控制台。
相关问题
将该代码转化当C#窗体程序中using System; namespace VigenereCipher { class Program { static void Main(string[] args) { Console.WriteLine("请选择操作:\n1. 加密\n2. 解密"); int choice = int.Parse(Console.ReadLine()); Console.WriteLine("请输入明文/密文:"); string text = Console.ReadLine(); Console.WriteLine("请输入密钥:"); string key = Console.ReadLine(); if (choice == 1) { string cipherText = Encrypt(text, key); Console.WriteLine("加密后的结果为:" + cipherText); } else if (choice == 2) { string plainText = Decrypt(text, key); Console.WriteLine("解密后的结果为:" + plainText); } else { Console.WriteLine("输入错误!"); } } static string Encrypt(string text, string key) { string cipherText = ""; int keyIndex = 0; for (int i = 0; i < text.Length; i++) { char c = text[i]; int offset = key[keyIndex] - 'A'; char encryptedChar = (char)((c + offset) % 256); cipherText += encryptedChar; keyIndex = (keyIndex + 1) % key.Length; } return cipherText; } static string Decrypt(string text, string key) { string plainText = ""; int keyIndex = 0; for (int i = 0; i < text.Length; i++) { char c = text[i]; int offset = key[keyIndex] - 'A'; char decryptedChar = (char)((c - offset + 256) % 256); plainText += decryptedChar; keyIndex = (keyIndex + 1) % key.Length; } return plainText; } } }
以下是将该代码转化为C#窗体程序的示例代码:
```csharp
using System;
using System.Windows.Forms;
namespace VigenereCipher
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void encryptButton_Click(object sender, EventArgs e)
{
string text = inputTextBox.Text;
string key = keyTextBox.Text;
string cipherText = Encrypt(text, key);
outputTextBox.Text = cipherText;
}
private void decryptButton_Click(object sender, EventArgs e)
{
string text = inputTextBox.Text;
string key = keyTextBox.Text;
string plainText = Decrypt(text, key);
outputTextBox.Text = plainText;
}
static string Encrypt(string text, string key)
{
string cipherText = "";
int keyIndex = 0;
for (int i = 0; i < text.Length; i++)
{
char c = text[i];
int offset = key[keyIndex] - 'A';
char encryptedChar = (char)((c + offset) % 256);
cipherText += encryptedChar;
keyIndex = (keyIndex + 1) % key.Length;
}
return cipherText;
}
static string Decrypt(string text, string key)
{
string plainText = "";
int keyIndex = 0;
for (int i = 0; i < text.Length; i++)
{
char c = text[i];
int offset = key[keyIndex] - 'A';
char decryptedChar = (char)((c - offset + 256) % 256);
plainText += decryptedChar;
keyIndex = (keyIndex + 1) % key.Length;
}
return plainText;
}
}
}
```
在窗体设计器中添加一个`TextBox`控件用于输入明文/密文,一个`TextBox`控件用于输入密钥,一个`TextBox`控件用于显示加密/解密结果,以及两个`Button`控件分别用于加密和解密操作。
然后,将`encryptButton_Click`和`decryptButton_Click`事件处理程序中的代码替换为原来的`Main`方法中的代码即可。注意修改控件的名称以与代码中的名称相匹配。
假设一个文本文件“你的学号-你的姓名.txt”保存在C盘根目录,请使用StreamReader将窗体内的文本框的内容写入到上述文件中,文本框的Name是“TextBox_Txt",直接写代码即可。
当然可以。在C#中,你可以使用`System.IO`和`System.Windows.Forms`命名空间中的类来实现这个需求。假设你是在一个Windows Forms应用程序中,以下是将TextBox的内容写入指定文本文件的示例代码:
```csharp
using System;
using System.IO;
using System.Windows.Forms;
public partial class YourFormClassName : Form // 填写你的Form名称
{
public YourFormClassName() // 填写构造函数
{
InitializeComponent();
}
private void SaveButton_Click(object sender, EventArgs e) // 假设有一个名为SaveButton的按钮触发此事件
{
string textBoxText = TextBox_Txt.Text; // 获取TextBox的内容
string filePath = @"C:\你的学号-你的姓名.txt"; // 文件路径
try
{
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.WriteLine(textBoxText); // 将内容写入文件
}
MessageBox.Show("文本已成功写入文件!", "提示");
}
catch (Exception ex)
{
MessageBox.Show($"发生错误:{ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
```
在这个例子中,当用户点击"SaveButton"时,会尝试读取TextBox_Txt的文本,并将其写入到指定的文件中。如果在写入过程中遇到任何异常,会显示一个错误消息。
阅读全文