green_seven schrieb:
Ich habe es jetzt so gelöst:
Wenn Teil einer Vektorgrafik vergrößtert werden soll ist das Vorgehen natürlich sinnvoller als eine verpixelte Bitmap zu erstellen.
Bzw, das hier in deinem Eventhandler sieht schräg aus:
this.Paint += new PaintEventHandler(this.auswahl_nachzeichnen_Paint);
this.Invalidate();
Denk dran, dass Events Multicastfähig sind und Du später mehr als einmal den Painteventhandler aufrufst. Es ist eigentlich "sicherer" Handler nur einmal zu abonnieren.
blurry333' schrieb:
Wie pervers muss man sein um ein Programm zu schreiben das Ausschnitte vergrößert
99,999% Männer hier
Ok, nach einigem hin und her Probieren habe ich das Problem lösen können.
Wie sich rausstellte, enthielt der String am Anfang noch ein nicht sichtbares Zeichen. Also das erste Zeichen mit String.Remove() abgeschnitten und nun geht's ohne Probleme.
Was du da machen willst halte ich für höchst Fragwürdig und eher für ein Hack als alles andere. Aber ggf zur Lösung:
hast du es mal mit
Control.FromHandle(handle)
probiert. Deinen Code nach zur folge hast du das Handle deines Parents ja. Wenn du es in ein Control umwandeln kannst kannst du dich dort an die entsprechenden Events ranhängen. Ich bin mir nur incht sicher ob das so funktioniert. Würde aber auf einen Versuch ankommen.
Danke für die Antworten! Ich denke, ich mache aus der Struktur eine vollwertige Klasse mit dem Index als Member und lege für die Werte (Datum, etc.) eigenständige Arrays an. Dann schmeisse ich einen Sort mit Rückgabe der Sortierreihenfolge auf das int-Datum an - der Fisch ist gegessen und ich brauche nicht weiter nachzudenken. Hat zudem den Vorteil, dass die Klasse weitere Aufgaben für die Verwendung der Tabelle übernehmen kann.
Ich erwarte von Jedem der Probleme mit einer Fremdbibliothek hat, das er im ersten Schritt auch dort schaut. Und wenn du dir nur 5 Minuten genommen hättest und in der Dokumentation den Punkt "How to... Install Cosmos (for VS Pro 2010 & above)" angeschaut hättest, hätte sich die Frage erübrigt.
# You must first install a number of prerequisites:...
#* Visual Studio 2010 READ: NOT 2012 Professional or higher MUST exist on your computer For express editions...
Kurz: Das Framework ist wohl inkompatibel mit 2012.
Wo ist jetzt das Problem sich über die API von Assembly weiterzuhangeln. Nur ein kurzer Blick in die Referenz genügt um mir GetTypes() zu liefern. An Type kannst du wieder schauen was angeboten wird um Methoden bzw Fields oder ähnliches zu bekommen.
micha7 schrieb:
ja, ich arbeite noch mit VS 2008. ReadAllLines hatte ich vorher schon probiert, scheitert aber daran dass die Input-Datei zu groß ist.
Wenn Du nicht umsteigen kannst, ist es vielleicht nützlich einen Ersatz für File.ReadLines zu haben. Die Methode ist echt nützlich und lässt sich einfach nachbauen:
class Program
{
static IEnumerable<string> ReadLines(string path)
{
using (TextReader inp = File.OpenText(path))
{
string line;
while ((line = inp.ReadLine()) != null)
yield return line;
}
}
static void Main(string[] args)
{
foreach (string line in ReadLines(@"C:\trash\fu.txt"))
Console.WriteLine(line);
Console.ReadKey(true);
}
}
MyEntity schrieb:
Es ist doch aber so dass wenn ich etwas aus der Datenbank lade, ich danach den Context aus performance Gründen in den meisten Fällen wieder schliesse.
Das wäre ein wichtiger Hinweis für den Eingangsthread gewesen, ebenso wie die verwendete EF-Technik (Database-First, Model-First oder Code-First).
MyEntity schrieb:
Nun habe ich also die lokalen Daten geändert. Hier ist nun die Frage kann ich die bestehenden Daten in der Datenbank durch geänderten Einträge ersetzen.
Oder muss ich bei jeder Änderung direkt auf einen offenen Context zugreifen
Du musst einen Context zum Schreiben öffnen, und die Objektänderungen diesem bekannt machen. Wie das genau geht ist vermutlich von der verwendeten Technik abhängig, so wie man z.B. im Code-First Ansatz sich dann auch selbst um das Change-Tracking kümmern muss.
Bei der Verwendung von Self-Tracking-Entities (dürfte DB-First/Model-First betreffen) gibt es z.B. ein Beispiel in "Entity Framework using self tracking entities in a multi-layered architecture" (Speziell wenn du dir die Implementation von "SavePost" in dem WCF-Service anschaust).
Wenn du nicht mit Self-Tracking-Entities arbeitest (wie es z.B. in Code-First die Regel ist) wird es wesentlich komplizierter. Hier habe ich auf Anhieb z.B. die folgende Präsentation gefunden: Entity Framework Code First: Working With Disconnected Entities, ebenso gibt es von Pluralsight (kostenpflichtig) mindestens ein Video zu dem Thema, glaube "Entity Framework in the Enterprise" oder zumindest eines der Videos von "Julie Lerman".
Ich muss nochmals korrigieren:
Der Style beim 3ten Label wird übernommen. Nur leider nicht komplett. VerticalAlignment funktioniert. Aber die Fonstize wird nicht übernommen.
Nicht mal wenn ich die Fonstize direkt im Label angebe wird sie übernommen.
Die Daten hälst Du in einer eigenen kleinen Klasse:
public class MyData : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string text;
public string Text
{
get { return text; }
set
{
text = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("Text"));
}
}
}
Form1 legt ein Objekt davon an und gibt es an Form2 weiter.
public partial class Form1 : Form
{
MyData mydata = new MyData();
public Form1()
{
InitializeComponent();
textBox1.DataBindings.Add("Text", mydata, "Text");
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
if (radioButton1.Checked)
{
Form2 f = new Form2(mydata);
f.Show();
}
}
}
Form2 ändert nur das Property des Datenobjekts. Durch Databinding-Magie musst Du Dich um nicht weiter kümmern.
public partial class Form2 : Form
{
MyData data;
public Form2(MyData data)
{
InitializeComponent();
this.data = data;
textBox1.TextChanged += new EventHandler(textBox1_TextChanged);
}
void textBox1_TextChanged(object sender, EventArgs e)
{
data.Text = textBox1.Text;
}
private void button1_Click(object sender, EventArgs e)
{
Close();
}
}
Hallo,
so eine ähnliche Frage gab es kürzlich erst: http://www.c-plusplus.net/forum/319559
Bei der ersten Antwort dann statt "CheckBox.Checked" für dich dann "comboBox.Visible" verwenden. Und diesen Code dann im RadioButton.CheckedChanged-Ereignis einbauen.
hustbaer schrieb:
Ich sag ja nicht dass er dafür qualifiziert wäre.
Als Putze? Selbst das ist unter Fachleuten trotz tagelanger Diskussionen noch umstritten. :p
http://www.lasstunsunfähigeprogrammiererzuputzfrauenmachen.de
Ok, also das nix angezeigt wird liegt daran, weil es in C# erstellt wurde.
Also ich benötige die C/C++ dll's in einem C#-Projekt.
Ich benutze desweiteren VS2010.