Laden...
R
Rico913
myCSharp.de - Member
41
Themen
95
Beiträge
Letzte Aktivität
vor 10 Monaten
Dabei seit
29.04.2020
Erstellt vor einem Jahr

Hi,

ich habe ein umfangreiches Program zum Verarbeiten und Bemaßen von Bildern geschrieben und möchte es nun für unsere englisch-sprechenden Kollegen verfügbar machen.

Wenn ich nun die Kultur in der Program.cs, wie folgt ändere:

ResourceManager resMgm = new ResourceManager("user.settings", Assembly.GetExecutingAssembly());
           string Lang = resMgm.GetString("Spracheinstellung");
           string LangCode;
           if (Lang == "deutsch")
           {
               LangCode = "de";
           }
           else
           {
               LangCode = "en";
           }
           LangCode = "de";
           CultureInfo myCultureInfo = new CultureInfo(LangCode);
           Thread.CurrentThread.CurrentCulture = myCultureInfo;
           Thread.CurrentThread.CurrentUICulture = myCultureInfo;

habe ich das Problem, dass meine an den Stellen, wo Berechnungen durchgeführt oder Strings konvertiert werden, ich Probleme mit dem englischen Zahlenformat (Punkt statt Komma) bekomme und dies zu falschen Ergebnissen führt.

Ich hab es an einer Stelle so gelöst:

string LangText = Properties.User.Default.Spracheinstellung;
           string LangCode;
           string temp_DM3;
           string temp_SER;
           if (LangText == "deutsch")
           {
               temp_DM3 = Properties.User.Default.ImportFilter_DM3_setting;
               temp_SER = Properties.User.Default.ImportFilter_DM3_setting;
           }
           else
           {
               temp_DM3 = Properties.User.Default.ImportFilter_DM3_setting.ToString().Replace(",", ".");
               temp_SER = Properties.User.Default.ImportFilter_DM3_setting.ToString().Replace(",", ".");
           }

Aber, ich habe so viel Stellen im Programm, wo es zu einem Fehler kommen kann und ich jede einzelne finden und lösen muss.

Gibt es dafür eine elegantere, einfache Lösung? Oder vielleicht ein komplett anderen Ansatz?

Erstellt vor einem Jahr

Hi,

ich habe ein DatagridView (Quell-DGV), in dem ich Bilder anzeigen lasse. Beispielsweise 8 Spalten und 3 Zeilen je Zelle ein Bild.
Ich möchte ich per Drag & Drop einzelne Bilder in ein anderes Datagridview (Ziel-DGV) verschieben - das funktioniert stabil.

Nun möchte ich aber, dass das ausgewählte Bild, welches ins Ziel-DGV verschoben wurde, aus dem Quell-DGV verschwindet und die nachfolgenden Bilder "nachrücken".

Gibt es eine Möglichkeit eine bestimmte Zelle zu löschen oder auszublenden?
Leider habe ich in meiner Recherche nur Funktionen gefunden, die ganze Zeilen oder Spalten löschen.

Danke und viele Grüße

Erstellt vor 2 Jahren

Hi,

vielen Dank - ich habe den "Ereignis"-Weg gewählt:


....
form_GS_Analysis.cmd_Close_with_Chart.Click += new System.EventHandler(form_GS_Analysis_GetChart_Click);
....

public void form_GS_Analysis_GetChart_Click(object sender, EventArgs e)
{
   MessageBox.Show("Test");
   form_GS_Analysis.cmd_Close_with_Chart.Click -= form_GS_Analysis_GetChart_Click;
}


Erstellt vor 2 Jahren

Hi,

folgende Problemstellung:

Ich habe ein Hauptformular (Form_Main) von welchem ich aus Form2 (Form_GS_Analysis) starte:


Form_GS_Analysis form_GS_Analysis;

private void GSA_Open_Form()
{
//Form wird initialisiert
form_GS_Analysis = new Form_GS_Analysis();
form_GS_Analysis.FormClosed += new FormClosedEventHandler(form_GS_Analysis_FormClosed);

 //Form AssistCA wird angezeigt
form_GS_Analysis.Show();
}

private void form_GS_Analysis_FormClosed(object sender, FormClosedEventArgs e)
 /*
      tritt ein, wenn AssistCA geschlossen wird
 */
 {
            //Handler wird beendet
            form_GS_Analysis.FormClosed -= form_GS_Analysis_FormClosed;
            gBx_GSA.Visible = false;

            //Marker wird deaktiviert
            Is_GSAform_open = false;
}

Im Form2 (Form_GS_Analysis) führe ich nun verschiedenste Berechnung durch und erstelle ein Diagramm. Dieses Diagramm speichere ich als Bild und möchte es per Button im Form2 direkt in Form1 einfügen.

Wie ich das von Form1 aus realisiere, ist mir klar nur nicht wie es direkt von Form2 aus konstruiere. Also wenn der User im Form2 (Form_GS_Analysis) auf den Button drückt.

Danke schonmal im Vorraus für eure Hilfe!!!

Erstellt vor 3 Jahren

Super ... vielen Dank!! Mit der statischen Methode hats geklappt 👍

Erstellt vor 3 Jahren

Hi,

ich steh grad mal wieder auf dem Schlauch. Ich habe mir ein individuelles MessageForm mit DialogResult gebastelt. Das funktioniert auch alles, wie es soll.
Ich würde aber gern die Benutzung etwas abkürzen:

Momentan:


 MyMessageBox_Global myMSG = new MyMessageBox_Global();
 DialogResult dialog = myMSG.Get_DiaResult("Test 1 2 3 ", "hier steht die Nachricht", MyMessageBox_Global.msgButton.JaNein_Cancel, MyMessageBox_Global.msgIcon.Fehler, false);
 if(dialog == DialogResult.Yes)
            {........

Ich würde es gern wie die Standard-MessageBox benutzen. Also so:


MyMessageBox_Global.Get_DiaResult(......)

...ohne jedesmal neu zu Initialisieren.

Wie kann ich die Klasse "einbauen", dass ich sie direkt auffrufen kann. Könnt ihr mir bitte ein Stichwort geben?

Danke und viele Grüße
Rico

Erstellt vor 3 Jahren

Hi,

ich würde gern ein String darauf prüfen, ob sein Inhalt einzeilig oder mehrzeilig ist.

Sozusagen möchte ich ja nach Inhalt das StringAlignment ändern:


string Text = XXX.Label_Text;
SizeF TextSize = TextRenderer.MeasureText(Text, new Font(Font_OCR_Label.Name, Font_Size_temp));

StringFormat sf = new StringFormat();

if(Text == einzeilig)
{
    sf.Alignment = StringAlignment.Center;
}
else
{
   sf.Alignment = StringAlignment.Near;
}


Erstellt vor 3 Jahren

Hey,

ich bräuchte mal eure erfahrene Hilfe. Ich habe ein altes Script, welches in C geschrieben wurde und muss es, da ich die Funktion benötige, in C# integrieren.
Leider fehlt mir aber das Fachwissen - gerade im Punkto Zeiger - das hab ich in C noch nicht richtig kapiert.

Hier mal das Code-Beispiel:


UINT getuint( FILE *f) 
{
  int i;
  UINT ff;
  char *c;
  c = (char*)&ff;
  for( i=3; i>=0; i-- )
    c[i] = fgetc(f);
  return ff;
}

Könnte mir das bitte jemand in C# übersetzen?
Was bedeutet der Abschnitt:


char *c;
  c = (char*)&ff;

Warum gebe ich ff zurück, obwohl keine Operation stattfand? Woher kommt der Rückgabewert?

Vielen Dank schon mal im Vorraus....

Erstellt vor 3 Jahren

Cool ... Danke dir!!!

Erstellt vor 3 Jahren

Hallo,

ich möchte nach einer getätigten Aufgabe eine Mail über Outlook (Office365) versenden. Das funktioniert auch.
Nur habe ich zwei Optionen:

  1. Outlook ist beim Nutzer schon geöffnet und soll nach dem Versenden offen bleiben
    oder
  2. Outlook vom Nutzer ist geschlossen und soll nach dem Versenden wieder geschlossen werden

Mein Code:


try
            {
                Microsoft.Office.Interop.Outlook.Application OL = new Microsoft.Office.Interop.Outlook.Application();
                Microsoft.Office.Interop.Outlook.MailItem Mail = OL.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
                Mail.Subject = Betreff;
                Mail.To = Empfaenger;
                Mail.Body = Nachricht;
                Mail.Display(false);
                Nachricht = string.Empty;
                Mail.Send();
                OL.Quit();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Exception");
            }

Gibt es einen Weg, zu erkennen, ob Outlook geöffnet ist?