C#正在保存TextBox输入
本文关键字:TextBox 输入 保存 | 更新日期: 2023-09-27 18:27:26
我正在用C#制作一个Windows窗体,我对这一切都很陌生。。现在,这就是我想要实现的:
文本框有一个默认的文本集,但当用户修改它时,我希望下次打开表单时加载修改后的文本。(仅当选中复选框时)
我的问题是:这可能吗?如果是,怎么做?就像我说的,我对C#真的很陌生,所以即使搜索了很多,我也找不到如何做到这一点
using System;
using Sulakore;
using System.Linq;
using Sulakore.Habbo;
using System.Drawing;
using Kendax.Properties;
using Sulakore.Protocol;
using System.Windows.Forms;
using System.Threading.Tasks;
using Sulakore.Communication;
using Sulakore.Protocol.Encryption;
namespace Kendax
{
public partial class UpdateHeaders : Form
{
public UpdateHeaders()
{
InitializeComponent();
}
private void UpdateHeadersBtn_Click(object sender, EventArgs e)
{
HHeaders.Motto = ushort.Parse(UpdateMotto.Text);
HHeaders.Say = ushort.Parse(UpdateSay.Text);
HHeaders.Walk = ushort.Parse(UpdateWalk.Text);
HHeaders.Pong = ushort.Parse(UpdatePong.Text);
HHeaders.Dance = ushort.Parse(UpdateDance.Text);
HHeaders.Sign = ushort.Parse(UpdateSign.Text);
HHeaders.Shout = ushort.Parse(UpdateShout.Text);
HHeaders.Rotate = ushort.Parse(UpdateRotate.Text);
HHeaders.Stance = ushort.Parse(UpdateStance.Text);
HHeaders.Like = ushort.Parse(UpdateLike.Text);
HHeaders.Trade = ushort.Parse(UpdateTrade.Text);
HHeaders.Respect = ushort.Parse(UpdateRespect.Text);
HHeaders.AddFriend = ushort.Parse(UpdateAddFriend.Text);
HHeaders.Clothes = ushort.Parse(UpdateClothes.Text);
HHeaders.Gesture = ushort.Parse(UpdateGesture.Text);
HHeaders.Navigate = ushort.Parse(UpdateMotto.Text);
HHeaders.Exit = ushort.Parse(UpdateExit.Text);
HHeaders.JoinGroup = ushort.Parse(UpdateJoinGroup.Text); ;
HHeaders.LeaveGroup = ushort.Parse(UpdateLeaveGroup.Text);
HHeaders.HelpRequest = ushort.Parse(UpdateHelpRequest.Text);
HHeaders.Scratch = ushort.Parse(UpdateScratch.Text);
HHeaders.RideHorse = ushort.Parse(UpdateRideHorse.Text);
HHeaders.MakeRoom = ushort.Parse(UpdateMakeRoom.Text);
HHeaders.Facing = ushort.Parse(UpdateFacing.Text);
HHeaders.Whisper = ushort.Parse(UpdateWhisper.Text);
HHeaders.ChangeName = ushort.Parse(UpdateChangeName.Text);
}
private void ResetDefaults_Click(object sender, EventArgs e)
{
HHeaders.Motto = 3117;
HHeaders.Say = 2632;
HHeaders.Walk = 2383;
HHeaders.Pong = 516;
HHeaders.Dance = 250;
HHeaders.Sign = 3133;
HHeaders.Shout = 269;
HHeaders.Rotate = 3390;
HHeaders.Stance = 2049;
HHeaders.Like = 2947;
HHeaders.Trade = 1384;
HHeaders.Respect = 1724;
HHeaders.AddFriend = 20;
HHeaders.Clothes = 3713;
HHeaders.Gesture = 3976;
HHeaders.Navigate = 2219;
HHeaders.Exit = 2520;
HHeaders.JoinGroup = 3134;
HHeaders.LeaveGroup = 3816;
HHeaders.HelpRequest = 3540;
HHeaders.Scratch = 1292;
HHeaders.RideHorse = 3621;
HHeaders.MakeRoom = 3156;
HHeaders.Facing = 1462;
HHeaders.Whisper = 2382;
HHeaders.ChangeName = 809;
// These are the textboxes and their default values
UpdateMotto.Text = 3117.ToString();
UpdateSay.Text = 2632.ToString();
UpdateWalk.Text = 2383.ToString();
UpdatePong.Text = 516.ToString();
UpdateDance.Text = 250.ToString();
UpdateSign.Text = 3133.ToString();
UpdateShout.Text = 269.ToString();
UpdateRotate.Text = 3390.ToString();
UpdateStance.Text = 2049.ToString();
UpdateLike.Text = 2947.ToString();
UpdateTrade.Text = 1384.ToString();
UpdateRespect.Text = 1724.ToString();
UpdateAddFriend.Text = 20.ToString();
UpdateClothes.Text = 3713.ToString();
UpdateGesture.Text = 3976.ToString();
UpdateNavigate.Text = 2219.ToString();
UpdateExit.Text = 2520.ToString();
UpdateJoinGroup.Text = 3134.ToString();
UpdateLeaveGroup.Text = 3816.ToString();
UpdateHelpRequest.Text = 3540.ToString();
UpdateScratch.Text = 1292.ToString();
UpdateRideHorse.Text = 3621.ToString();
UpdateMakeRoom.Text = 3156.ToString();
UpdateFacing.Text = 1462.ToString();
UpdateWhisper.Text = 2382.ToString();
UpdateChangeName.Text = 809.ToString();
// End of textboxes and their default values
}
}
}
用户应该删除默认文本,并需要输入新的文本。该输入应在关闭表单时保存,并在再次打开表单时加载如果复选框被选中ELSE,打开表单时不应保存任何输入,并且应加载默认文本。
有人能帮我吗?我知道这可能有点模糊,但再一次,我是新手,我也不是英国人(我是荷兰人)。提前感谢,我真的希望有人能理解我想要实现的目标。。如果没有,我很抱歉!
再次,提前感谢!
更新:
好吧,所以我尝试将输入保存为1个文本框,这就是我所做的:
http://i.gyazo.com/950c85a0d80ce942d103dc75668094d1.png(我还不能上传图片,因为信誉太低)
这就是我在设置中所做的,然后在这里加载默认值:
public UpdateHeaders()
{
InitializeComponent();
UpdateMotto.Text = Settings.Default.UpdateMotto.ToString();
}
这就是它应该保存用户输入的地方:
private void UpdateHeaders_FormClosed(object sender, FormClosedEventArgs e)
{
Settings.Default.UpdateMotto = ushort.Parse(UpdateMotto.Text);
if (RememberMe.Checked)
{
Settings.Default.Save();
Settings.Default.Reload();
}
else
{
this.Close();
}
}
它没有保存该文本框的输入,而是加载了默认输入。.config文件已经生成,但没有更新,并且仍然保留默认值。我做错了什么?
再次提前感谢:)
如果您使用的是Visual Studio,您可以转到项目属性窗口,单击"设置"选项卡,然后在其中添加"用户"设置。在代码中,您可以使用Properties.Settings.Default来访问您添加的各个设置。
从标题到你的问题,你似乎已经走了那么远。因此,剩下的就是,在将值实际分配给Default settings对象中的属性之后,调用Save()方法。这将在用户的配置文件目录下以XML文件的形式写出设置,并将在同一用户下次运行程序时自动加载。