Ich habe ein einfaches Formular mit einem Textfeld, einer Befehlsschaltfläche und ein paar Timern. Der einzige Zweck des Formulars besteht darin, dem Benutzer mitzuteilen, was gerade geschieht. Das Programm führt den gesamten Code wie erforderlich aus AUSSER für das Textfeld Änderungen. Ich weiß, dass der Code zum Implementieren der Textboxänderungen ausgeführt wird, da sich das Formular und die Eigenschaften der Befehlsschaltfläche nach Bedarf ändern.C# Textfeldeigenschaften werden nicht aktualisiert
Ich habe this.refresh und this.textbox1.refresh vergeblich hinzugefügt.
Ich bin neu in C# und die meiste Zeit habe ich keine Visual Studios zur Verfügung, so dass Ihre Hilfe am meisten geschätzt würde. Ich habe andere Beiträge zu diesem Thema gelesen und wahrscheinlich wurde die Antwort bereits gegeben, aber ich habe die Lösung nicht verstanden.
Der vereinfachte Code ist unten angegeben:
//PROGRAM.CS
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Windows.Forms;
using WindowsFormsApplication1;
namespace PostBinaryFile
{
static class Program
{
/// The main entry point for the application.
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1(args));
}
}
}
//FORM1.CS
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 System.Web;
using System.Net;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
string sUrl;
string sFileName;
string sCorNo;
public Form1(string[] args)
{
sUrl = args[0];
sFileName = args[1];
sCorNo = args[2];
InitializeComponent();
timer1.Enabled = true;
timer1.Start();
timer2.Enabled = true;
timer2.Start();
}
public void PostCode()
{
InitializeComponent();
string sToken;
string sPath;
const string boundary = "----WebKitFormBoundaryePkpFF7tjBAqx29L";
try
{
//Do all general code work here.
//Alter form to show successful post to web
this.button1.Visible = true;
this.button1.Enabled = true;
this.BackColor = System.Drawing.Color.FromArgb(189,194,241);
this.textBox1.Text = sCorNo + " Outlook file saved to FuseDMS."; // this code is executed but is not reflected on the Form
this.textBox1.BackColor= System.Drawing.Color.FromArgb(189,194,241); // this code is executed but is not reflected on the Form
}
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Stop();
timer1.Enabled = false;
PostCode();
}
private void timer2_Tick(object sender, EventArgs e)
{
timer2.Stop();
timer2.Enabled = false;
this.textBox1.Text = "Saving Message " + sCorNo + ".";
}
private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
Benötigen Sie wirklich zu rufen 'InitializeComponent()' auf jedem Timer-Tick? Ist Ihnen bewusst, dass dadurch alle Ihre Eigenschaften zurückgesetzt werden? – DavidG
Wenn ich Ihr Problem richtig verstanden habe, wird der Text in Ihrem Textfeld nicht durch diesen Code aktualisiert 'this.textBox1.Text =" Nachricht speichern "+ sCorNo +". ";' Wenn das ticker-Ereignis von timer2 ausgelöst wird. Ist es? – RBT