Ich habe lauffähig eine erste App für Windows Phone 7 fertig. Die Benutzeroberfläche und die eingebundenen eigenen Berechnungsmodule laufen einwandfrei.
Für Erweiterungen und zum Erfahrungsaustausch suche ich gleichgesinnte Mitstreiter zur gegenseitigen Ergänzung in Spezialfragen. Zur Zeit sind folgende Fragen offen, weitere kommen sicher hinzu:
- Einbindung einer Listbox für berechnete Tabellen
- Einbindung einer Programmkonfiguration, voreingestellt im Code, aber vom Benutzer für weitere Programmläufe z.B. für die Sprachwahl deutsch/englisch änderbar (IsolatedStorage?).
- WP7-IDE, Vorbereitungen zur Freigabe auf dem Marketplace.
- Migration z.B. nach Android
Die MSDN-Hilfen sind oft sehr mühsam speziell zur Phone-Programmierung.
Wer Interesse hat zum Austausch von Tipps, Sources, und mehr schicke bitte eine Mail über das Benutzerprofil.
Meine Frage bezog sich darauf, welche Änderugen an der Form vorgenommen werden.
Vielleicht Font, Farben, Sprache, ... ?
Und wie werden diese Einstellungen zum ersten mal auf die Mainform angewandt? Wahrscheinlich im Konstruktor. Kannst Du diesen Code nicht in eine Reinit()-Methode extrahieren, und diese dann nach dem Ändern der Werte erneut aufrufen?
Jedenfalls ist Handarbeit angesagt.
Häng dich beim aufrufen der anderen Form an das Closing Event der Form2.
In der Form2 hast du dann z.B. eine boolean Variable erstellt, wo du nach dem schließen der Form2 noch darauf zugreifen kannst.
IN FORM2 einfügen ->
public bool bChanges = false;
Diese Variable setzt du dann bei irgendeinem Event auf True z.B. wenn du ein Button klickst.
Das fügst du in die Form1 ein.
Form2 C = new Form2();
C.Closing += (s, t) =>
{
if (C.bChanges)
{
MessageBox.Show("Klappt");
}
};
this.Hide();
C.ShowDialog();
Hab den Fehler selbst gefunden: mit dem Router (Speedport W723) ist es nicht möglich aus dem lokalen Netz auf seinen eigene Weltweite(IP) zuzugreifen. Also Raus und wieder Rein geht nicht... Warum weiß ich auch nicht ist aber so!
MFG Oschi
moin moin,
einfach in
private void txtErgebnis_KeyUp(object sender, KeyEventArgs e)
eine neue if-verknüpfung(z.B. für Minus):
if (e.KeyCode == Keys.Subtract)
{
txtErgebnis.Text="";
}
viel erfolg!
Hallo zusammen
Thema WPF:
Ist es irgendwie möglich ein ItemsPanelTemplate in der Resource festzulegen so dass es wiederverwendbar ist. Heißt ja schliesslich Template
Hallo,
bräuchte Hilfestellung bei einem Übertragen einens Werts von einer Texbox zu einem mit Maus angewelter Spaltenbox eines "dataTable1DataGridView" Fensters?
Könnt Ihr Helfen?
VB C#
Wenn Hintergrund == anderer Thread: Nicht möglich.
Im GUI-Thread entspräche es dem Timer-Vorschlag von oben. Dann spielt es keine Rolle ob das Control angezeigt wird oder nicht.
Willst Du 8 Mio. IP-Adressen eines Subnetzes anzeigen? Wozu?
Der Virtual-Mode scheint die sinnvollste Lösung zu sein.
Bin den Umweg über die Events SelectionChanged, Loading- und Unloading Row gegangen, wobei eine entsprechendes Flag abgefragt wird.
Das funzt soweit ohne große Performanceprobleme.
Abschließend würde ich noch gerne erreichen, das alle gefundenen Rows an die oberste Stelle im DataGrid rutschen, oder alternativ alle "nicht Suchergebnisse" ausgeblendet werden. Row.Visibility greift aber hier nicht !?
Mosima schrieb:
also der debugger zeigt mir ja auch kein fehler an. sprich code ist soweit in ordnung nur wenn ich das programm dann ausführe wird die messageBox ausgelöst
Du sollst einen Haltepunkt vor die betreffende Zeile setzen und den Debugger bis dahin laufen lassen, um Dir dann den Inhalt der Variablen anzusehen.
Mit einem Mutex kriegt man sowas hin.
using System;
using System.Threading;
namespace InstanceCount
{
class Program
{
static void Main(string[] args)
{
string uniqueUserName;
uniqueUserName = Console.ReadLine();
using (Mutex mutex = new Mutex(false, uniqueUserName))
{
if (!mutex.WaitOne(0, false))
{
Console.WriteLine("Eine Programminstanz für Benutzer {0} läuft bereits. Programm wird beendet", uniqueUserName);
Console.ReadKey(true);
return;
}
StartProgram(uniqueUserName);
}
}
private static void StartProgram(string uniqueUserName)
{
Console.WriteLine("Programminstanz für Benutzer {0} wird nun ausgeführt", uniqueUserName);
Console.ReadKey(true);
}
}
}
Der string uniqueUserName wird als Name des benannten Mutex verwendet. Somit kann ein Benutzer nur einmal das Programm starten wobei es insgesamt aber beliebig viele Instanzen geben kann.
Woher diese Benutzer-IDs kommen liegt bei Dir. Achte nur darauf, dass sie systemweit eindeutig sind und nicht mit Mutexen anderer Programme kollidieren (z.B. mit einer fest einkodierten GUID die immer an den Username angehängt wird)
Du hast die MSDN doch sicherlich auch bei dir lokal installiert (und dann in deutsch), oder? Und wenn nicht dann ersetze einfach im Link "en-us" durch "de-de" - voilà.
Aber laß dich nicht von den anderen verunsichern, dein Ansatz mit dem "Tag" ist schon in Ordnung so.
Ansonsten kannst du dir auch mal diesen FAQ-Beitrag vom myCSharp-Forum durchlesen: Variablennamen zur Laufzeit zusammensetzen.
Hallo,
zumindest eine Formel kann ich mal darstellen mit folgender Funktion:
private void Test()
{
Microsoft.Office.Interop.Word.Application app = Globals.ThisAddIn.Application;
Document activeDoc = app.ActiveDocument;
Range actRange = app.Selection.Range;
actRange.Text = "cos(\\alpha )";
actRange.OMaths.Add(actRange);
actRange.WholeStory();
actRange.OMaths.BuildUp();
}
cos (α) wird aber nur korrekt dargestellt, falls in der Zeile noch nichts steht. Steht da vorher irgendwas, erscheint nur der Lineartext ???? Hat irgendjemand eine Erklärung, einen Verdacht ???
Grüsse
@hustbaer stimmt schon, aber ich hatte da sowas verrücktes im Kopf:
// deklaration
template<typename T>
class A<T>
{
T &foo(T param);
};
// definition
T &A<[b]T[/b]>::foo(T param) {...}
Und da ist mir das T irgendwie beim C# Code mit reingerutscht, weil's halt doch noch in Signatur der Definition gehört. Ist natürlich falsch ... :p