Mit vielen Textboxen brauchst Du entweder
- eine hartcodierte Zuordnung von Textbox zu Wert oder
- eine Vorschrift, die diese Zuordnung zur Laufzeit berechnet.
Die erste ist sozusagen die "naive" Variante. Leicht zu schreiben, aber der Horror, wenn man so eine Anwendung länger als eine Woche pflegen soll.
Die zweite Variante kann man in Erwägung ziehen. Jede TextBox hat die Properties Name und Tag. Über eine davon oder eine Kombination von beiden kann man jede einzelne TextBox in der Collection .Controls (http://msdn.microsoft.com/en-us/library/system.windows.forms.control.controls(v=vs.80).aspx) des übergeordneten Containers wiederfinden.
Die Daten kannst Du über ihren Index aus der Liste fischen:
Liste<TabelleA> list = new Liste<TabelleA>();
// list füllen
for( int index = 0; index < list.Count; index++)
{
TextBox textBox = GetRelevantTextBox( index);
textBox.Text = list[index].Verein;
}
Th69 schrieb:
Tja, RightToLeft ist etwas anderes als rechtsbündige Ausrichtung!
Genau das ist mir mittlerweile auch aufgefallen, habs dann mit dem Parameter "TextAlign" beheben können.
1. Was heisst "Kann die Applikation nicht beenden"? Was passiert? Was hast du erwartet?
2. Was ist das für eine C++ Applikation? Graphische Oberfläche? Konsole? Selbstgeschrieben? Was verstehst du unter einem "Entwicklungs-Tool"?
3. Abgesehen davon schliesst man andere Applikationen nicht so. Was du hier machst ist die Hau-Drauf-Methode. Korrekt wäre, wenn du der anderen Applikation eine Nachricht senden würdest, dass sie sich doch bitte sauber beenden soll. In der anderen Applikation implementierst du eine entsprechende Behandlung dieser Nachricht und lässt sie sauber beenden. Es gibt zahlreiche Möglichkeiten eine solche Nachricht zu schicken, da kommt es vor allem wieder darauf an, was das für eine C++ Applikation ist.
Grüssli
ich habs jetzt in ein byte array gepackt und über den networkstream(größe, daten) gemacht... war wie mir schon erwähnt sehr einfach... meine denkweise geht immer nur zu viele wege...
danke an alle!!!
:p
oder:
WebClient wc=new WebClient();
wc.Proxy=null; // schaltet Suche nach Proxy-Einstellungen aus - die kann ordentlich verzögerungen verursachen
string html=wc.DownloadString("http://www.google.de");
Hm ja stimmt das hatte ich nicht bedacht. Kommt dann halt immer drauf an was genau man erreichen will.
Vielleicht wäre es auch möglich das ganze ohne Rollback zu machen ?
Das Fenster ist nicht 350 sondern 525 breit, 350 ist die Höhe.
Und was ich machen will, hat mit genau der gleichen Sache zu tun. Ich habe ein etwas komplexeres Fenster programmiert, dessen Positionen auf der Margin Eigenschaft basieren. Das Programm soll jedoch nicht nur auf Windows XP, sondern auch auf anderen Betriebssystemen ausführbar sein, ohne dass sich Labels und Buttons unschön verziehen.
Dir lässt sich leider nur sehr schwer helfen. Denn der Code ist sehr lang und sehr unübersichtlich...
Wenn es mit einem Port bereits funktioniert, dann sollte ein anderer Port eigentlich keine Probleme bereiten. Mir fällt dazu keine Erklärung ein. Startest du das Programm zur Änderung des Ports neu? Wenn nicht, dann könnte es sein, dass du die alte Verbindung nicht richtig schließt und daher keinen anderen Port wählen kannst.
Wenn es beim Schließen des Programms eine Fehlermeldung gibt, dann solltest du den Debugger nutzen, um festzustellen wo dieser Fehler auftritt. Ich könnte mir vorstellen, dass du damit einen Verbindungsabbruch o.ä. erzeugst und dann eine Exception geworfen wird.
Alternativ könntest du auch mit einem anderen Tool (z.B. Putty, DebugTCP-Tool) versuchen einen Client/Server zu simulieren, um sicherzustellen, dass der Client/Server korrekt arbeitet.
Hallo
Ich habe ein kleines Problem bei der Inbetriebnehmen meiner ersten ASP.NET Webseite.
Um entsprechneden Usern Zugriff zu geben habe ich das Logon Steuerelement verwendet. Dadurch wir unte AppData automatisch die ASPNETDB angelegt. Da ich aber meine eigene Db verwenden möchte habe ich alle Tabellen der ASPNETDB kopiert und in meiner DB eingefügt. Daraufhin habe ich meine DB mit der aspnet_regsql.exe registiriert.
Starte ich die Website nun auf meiner Engineering Station aus dem Visual Studio heraus funktioniert alles ohne Probleme.
Schiebe ich die Webseite dann auf meinen Webserver (IIS) bekomme ich beim Start der Seite folgende Fehlermeldung:
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty.
Source Error:
Line 247: <roleManager>
Line 248: <providers>
Line 249: <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Line 250: <add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Line 251: </providers>
Source File: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config\machine.config Line: 249
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
Alleine aus der Tatsache heraus das der Fehler durch die machine.config verursacht wird gehe ich davon aus, dass ich in der web.config irgendetwas falsch oder garnicht konfiguriert habe.
Ist das richtig?
Was muss ich bzgl. dem AspNetSqlRoleProvider dort konfigurieren?
Meine web.config hat folgenden Inhalt:
....
<add name="SMEonFS06" connectionString="Data Source=SHGERTRI03-FS06;Initial Catalog=SME;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<roleManager enabled="true" />
<authentication mode="Forms" />
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add
name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="SMEonFS06"
passwordAttemptWindow="10"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed" />
<remove name="AspNetSqlRoleProvider" />
<add
name="AspNetSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="SMEonFS06"
passwordAttemptWindow="10"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed" />
</providers>
</membership>
<authorization>
<allow roles="Administratoren" />
<allow roles="Poweruser" />
</authorization>
<compilation debug="true" targetFramework="4.0"/>
<customErrors mode="Off"/>
</system.web>
Kann mir da jemand weiterhelfen?
Beste Grüße
Dein Timer läuft immer weiter und löst somit das Tick-Ereignis in der Frequenz von .Interval erneut aus, darum springt Dein Debugger ständig wieder in diese Methode. Erst wenn Du Deinen Timer auf Enabled = False setzt oder die .Stop Methode aufrufst wird kein Timer.Tick-Ereignis mehr ausgelöst.
Vielen Dank für die Hinweise. Weiß nicht warum aber war irgendwie der Meinung das die Methode des Predicaten static sein muss, aber geht auch so.
Jetzt geht es auf jeden Fall ohne Probleme.
Danke
Also das mit dem nächst kleineren finden habe ich hinbekommen
Danke für die vielen Tips. Hab mich echt gefreut, dass noch jemand um die späte Uhrzeit online war. DarkShadow44 und volkard sehr vielen dank nochmals.
Der Code zum nächst kleineren finden ist
Nun brauch ich das noch für das nächst größere, wenn jemand schnell einen Einfall hat kann er mir das gerne posten, wäre sehr nett.
Leider ist mein Kopf grad etwas voll mit < und > Zeichen
Edit:
Ok es hat auch mit den nächst größeren Werten geklappt