Laden...

Forenbeiträge von islander Ingesamt 23 Beiträge

10.08.2022 - 19:06 Uhr

Moin!

Läuft, bedankt for help!👍

mfg hans

10.08.2022 - 15:13 Uhr

Moin!
Habe nachstehend ausgeführtes Problem:

Habe mit C# - WPA - xaml eine kleine Routine gefertigt - siehe anhängendes Bild.

Aus einer ComboBox können Unterichtsfächer angeklickt/selektiert und per Mausklick in eine TextBox eingetragen werden ...


 <ComboBox
            x:Name="DatenComo"
            Margin="4,60,4,60"
            Grid.Row="3" 
            Grid.Column="1" 
            Grid.ColumnSpan="2" 
           
           SelectionChanged="DatenComo_SelectionChanged"  
            
            IsReadOnly="True"
            >

            <ComboBoxItem>Mathe</ComboBoxItem>
            <ComboBoxItem>Deutsch</ComboBoxItem>
            <ComboBoxItem>Physik</ComboBoxItem>
            <ComboBoxItem>Chemie</ComboBoxItem>
            <ComboBoxItem>Biologie</ComboBoxItem>
            <ComboBoxItem>Religion</ComboBoxItem>
            <ComboBoxItem>Werte/Normen</ComboBoxItem>
            <ComboBoxItem>Sport</ComboBoxItem>
            <ComboBoxItem>Kunst</ComboBoxItem>
        
        </ComboBox>


 private void DatenComo_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
                object selectedItem = DatenComo.SelectedItem;
             
                             TeMo.Text = selectedItem.ToString();
 
            
        }

Der Text wird auch, wie vorgesehen, in die entsprechende TextBox eingetragen,
aber nicht nur das Unterichtsfach, in der gewünschten Form, sondern so:

System.Windows.Controls.ComboBoxItem: Werte/Normen

Was übersehe, mache ich falsch?
Jemand eine Idee?

mfg hans

21.07.2022 - 14:25 Uhr

[...]

  
this.Width;  
  

[...]

Moin!
Genau das war/ist es!
👍
Danke an alle for help!

mfg hans

21.07.2022 - 13:30 Uhr

[...]
Aber es wurde kein Objekt "Form1" initialisiert.

z.B.

  
Form1 myForm = new Form1();  
int aktuelleBreite = myForm.Width;  
  

namespace NewWidth_22_07_21
{
    public partial class Form1 : Form

            {
        public Form1()
        {
            InitializeComponent();

                 Form1 myForm = new Form1();
           int aktuelleBreite = myForm.Width;

           

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Application.Exit(); // Programm beenden
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void Form1_Load_1(object sender, EventArgs e)
        {

        }
    }
}

Wird mit folgender Meldung abgelehnt: System.StackOverflowException

mfg hans

21.07.2022 - 12:04 Uhr

Hallo,

der Code

int aktuelleBreite = Form1.Width;  

ist so korrekt (sofern Form1 ein initialisiertes Form-Objekt darstellt).

Moin!
»Form1« ist eine Form, mit der ich bereits arbeite ...


namespace MakeNewLabel_22_07_21
{
    public partial class Form1 : Form
     {

        public Form1()
        {
            InitializeComponent();

            // label.Top = (ClientRectangle.Height - label.Height) / 2;

            // 1.) int currentWidth = Form1.Width;

            // 2.)size myFormSize = form.Size;

            // 3.) int aktuelleBreite = Form1.Width;

        }


        private void button1_Click(object sender, EventArgs e)
        {
            Application.Exit(); // Programm beenden
        }
    }
}

Leider führte keiner der hier dankenwerterweise gemachten Hinweise zum Erfolg.

mfg hans

21.07.2022 - 10:32 Uhr

[...]
PS: Googlen ist in solchen Fällen meistens schneller als einen Beitrag im Forum zu eröffnen. Mit der Google Suchanfrage "form width docs microsoft c#" ist die von mir verlinkte Seite, zumindest bei mir, das erste Ergebnis.

Moin!
Die Seite hatte ich auch deutsch übersetzt gegoogelt,
welcher ich entnehmen kann, wie man eine neue form erstellt
und sie ausgestaltet.

Ich suche einfach nur nach einer korrekten Formulierung für das Auslesen des Width-Wertes.

mfg hans

21.07.2022 - 09:36 Uhr

Moin!
Kann man, in C#, im Code, die Breite einer vorhandenen Form abfragen?

So nach dem Motto:

int aktuelleBreite = Form1.Width; , oder ähnlich ?

Beispiele, die im Netz zu finden sind, zeigen, wie man Controls zur Laufzeit erstellt und ihnen eine Breite mitgibt.

mfg hans

18.07.2022 - 09:33 Uhr

Moin!
Das kommt sicher als nächstes dran!

mfg hans

18.07.2022 - 06:47 Uhr

Moin!
Vielen Dank, werde ich mir ansehen und durcharbeiten.

Ich bin dabei, diese Oberfläche, zur Laufzeit,
mit drei Schleifen zu erzeugen
die Elemente, in/mit den Schleifen zu positionieren
und ihnen alle nötigen Eigenschaften mitzugeben.

Wie schon gesagt, ohne großen Anspruch, nur als Fingerübung,
damit das Hirn etwas zu tun hat - und es macht Spaß.

Ich erlebe C# nun sehr Entwicklerfreundlich.

mfg hans

17.07.2022 - 22:08 Uhr

Weiterhin kann man sich z.B. ein Windows Forms Projekt anlegen und
[...]

Moin!
Vielen Dank!
Bin im Moment weg von der Konsole und hin zur Form und
habe, als Fingerübung, damit begonnen, einen Oberfläche zusammenzuklöppeln,
die ich ähnlich, wie zu DOS-Zeiten, in der Konsole gestalten wollte ...

mfg hans

17.07.2022 - 17:54 Uhr

Für den Anfang ist es einfacher ein Winforms oder WPF Projekt anzulegen, da hat man die gewünschten Funktionen sofort zur Verfügung.

Grüße Bernd

Moin!
Ja, die Erfahrung habe ich heute Nachmittag auch gemacht.
Eine FormaApp gestartet und mit Steuerelementen gearbeitet.

Das erscheint mir für einen Anfänger besser geeignet, als mit einer ConsolenApp.

mfg hans

17.07.2022 - 11:45 Uhr

An dem Namensbereich System.Windows.Forms ist ersichtlich, daß für diese der gleichnamige Verweis (auf die Assembly) erforderlich ist, welche in einem Konsolenprojekt (im Gegensatz zu einem Windows-Forms-Projekt) nicht voreingestellt ist.
[...]

Moin!

Vielen Dank, aber ich glaube, das ganze ist für die Fingerübungen eines Anfängers, mit/in einem Konsolenprojekt, zu umständlich/aufwändig!

mfg hans

17.07.2022 - 09:21 Uhr

Moin!
Ich bin C# Anfänger!
Ich arbeite mit Visual Studio 2022, wo vieles im Hintergrund zur Verfügung gestellt wird, unter Win10 und habe den Entwicklermodus [noch] nicht aktiviert.

Für eine Übung, eine Consolen-Anwendung, möchte ich die Größe des aktuellen Bildschirms mit nach stehendem Code ermitteln.
Nichts aber davon läuft.


// Ausmaße des aktuellen Bildschirms ermitteln ...

// Version 1
int Width = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width;
int Height = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height;

//Version 2
double height = SystemParameters.FullPrimaryScreenHeight;
double width = SystemParameters.FullPrimaryScreenWidth;
double resolution = height * width;

// Version 3
System.Windows.SystemParameters.PrimaryScreenWidth;
System.Windows.SystemParameters.PrimaryScreenHeight;

// Version 4
int screenHeight = Screen.PrimaryScreen.Bounds.Height;
int screenWidth = Screen.PrimaryScreen.Bounds.Width;


// Ausmaße des aktuellen Bildschirms ermitteln

VS2022 kann mit »Screen«; »Forms«; »Systemparameters«, etc. nichts anfangen.

Was habe ich weggelassen/vergessen/übersehen?

mfg hans

15.07.2022 - 12:40 Uhr

[...]

C# hat eine große Zukunft !

Ein großer Vorteil ist dass man für alle Plattformen Programme schreiben kann, ich nutze C# für Web, PC, Android, iOS und mac.

[...]

Moin!
Ich will hoffen dass sie es hat.
Ich habe meine Zukunft schon hinter mich gebracht und
ich will/kann keine [großen] Projekte mehr initiieren,
sondern mache im Moment nur Fingerübungen gegen das Vergessen!
😉

mfg hans

15.07.2022 - 05:50 Uhr

Weiterhin achtet der C#-Compiler auf die Einhaltung diverser syntaktischer Formalien, z.B. das alles (Objekte, Methoden,...) Bestandteil irgendeiner Klasse ist, Datentyp-Sicherheit, Einsatz von öffnenden und schliessenden Klammern,...

Moin!
... auf fehlende Semicolons etc.

Zwischenzeitlich läuft VisualStudio 2022 bei mir ganz gut und von
ihm werde ich bei meiner Zerstreutheit ganz gut unterstützt und
auf Fehler und/Auslassungen hingewiesen.

Wie macht ihr das mit der Referenz?
Kennt ihr die alles auswendig?
Habt ihr ein Buch neben der Tastatur liegen,
oder eine bestimmte Website geöffnet?

mfg hans

13.07.2022 - 15:07 Uhr

Moin!

Habe nun mit VS/C# begonnen
an einer Konsolen-App zu arbeiten.

Der Code kann kann editiert und der Ablauf gestartet werden.

Leider aber wird nach Beendigung und Neustart von VS zwar das Projekt geladen
und es kann auch getestet werden,
aber der Editor wird nicht geladen und der Code nicht dargestellt.

Starte ich hingegen ein neues Projekt, läuft alles, wie soll.

Jemand eine Idee, was das nun schon wieder ist?!

mfg hans

13.07.2022 - 13:45 Uhr

Moin!

Bei der Installation hatte ich nur die Option angeklickt, dass ich Windows-Desktop Anwendung programmieren will.
Das führte offensichtlich zu diesem Fehler.

Ich habe das Programm deinstalliert und neu installiert und habe ich möglichen Nutzungsoptionen erweitert.
Androit-Anwendungen, Plattformübergreifende Desktopanwendungen etc.

Und nun läufts, bisher.

Vielen Dank für eure Anstuppser, die mich auf den richtigen Pfad gebracht haben! 😉:thumb sup:

mfg hans

13.07.2022 - 12:56 Uhr

Was ist eine Standard-Installation für Dich? Die gibst unter Visual Studio nicht.

[...]

Moin!
Nur, wenn ich, als Neueinsteger, VisualStudio erstmalig installiere,
glaubte ich eine Version installiert zu bekommen, die auf unterster Ebene
Code ausführt.

War wohl ein Irrtum meinerseits.

mfg hans

13.07.2022 - 12:29 Uhr

Moin!
Ich habe eine Standart-Installation gemacht.

mfg hans

13.07.2022 - 12:27 Uhr

Moin!

Ist eine Console APP mit .NET 6.0 Unterstützung

mfg hans

13.07.2022 - 11:59 Uhr

Moin!

Ich bin neu in C# eingestiegen und habe folgendes Problem:

Ich habe Visual Studio Community 2022 heruntergeladen und installiert
und testweise eine Consolen-App probiert.
Das Projekt, wird, obwohl für den Code keine Fehler gemeldet werden, nicht gestartet/ausgeführt.

Statt dessen wird der anhängende Fehlermeldung ausgegeben.

Hat jemand evtl. eine Idee/Abhilfe?

mfg hans

13.07.2022 - 11:48 Uhr

Moin!
Danke!

mfg hans

13.07.2022 - 08:38 Uhr

Moin!

Mein Name ist Hans, ich bin 73 Jahre alt und habe mich heute hier angemeldet.

Mitte der 80er bin ich mit einem Commodore bei den PSs eingestiegen
und habe mit GW-/ und QuickBasic unter DOS auch programmiert,
bin dann mit VisualBasic in die WindowsWelt gewechselt/eingestiegen und habe vor allem
Datenverwaltungsprogramme für die damalige ShareWareSzene geschrieben.

In späteren Jahren habe ich vor allem HTML-Webseiten zusammengklöppelt.

Ich würde nun gern wieder einsteigen und zwar bei/mit C# - wenn es denn noch Zukunft hat.

mfg hans