C#保存TextBox输入

时间:2014-10-21 10:12:50

标签: c# save

我正在使用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

        }
    }
}

用户应该删除默认文本,并需要输入新文本。表单关闭时应保存该输入,并在再次打开表单时加载 IF 复选框。 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文件已经生成但未更新,仍保留默认值。我做错了什么?

再次非常感谢:)

1 个答案:

答案 0 :(得分:1)

如果您使用的是Visual Studio,则可以转到项目属性窗口,单击“设置”选项卡,然后添加“#34; User"在那里设置。在代码中,您使用Properties.Settings.Default来访问您添加的各个设置。

从标题到你的问题,似乎你已经走得那么远了。所以你剩下的就是,在为Default设置对象中的属性实际赋值之后,调用Save()方法。这将在用户的配置文件目录下将设置写为XML文件,并在下次同一用户运行程序时自动加载。