Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von CarolaA
Thema: Excel-Datei wird erstellt, kann jedoch nach der Erstellung nicht geöffnet werden
Am im Forum: Office-Technologien

@ProGramer:

Danke für diesen Tipp, der hat es in sich. Denn du hattest Recht, dass mit der Dateitypenzuorndung etwas nicht stimmt. Vielen Dank.

@Programmierhans und EifelYeti: Danke für eure Hilfe.

MfG CarolaA.

Thema: Excel-Datei wird erstellt, kann jedoch nach der Erstellung nicht geöffnet werden
Am im Forum: Office-Technologien

Danke für deine Antwort.

Das ist bei mir nicht angehackt. Weißt du vielleicht noch an was es liegen könnte?

Habe Excel 2010.

Thema: Excel-Datei wird erstellt, kann jedoch nach der Erstellung nicht geöffnet werden
Am im Forum: Office-Technologien

Hallo liebe C#-Experten.

Ich habe mir folgenden Code geschrieben. Dieser funktioniert auch soweit ich festgestellt habe.

            Excel.Application app = new Excel.Application();
            Excel.Workbook myExcelWorkbook;
            Excel.Worksheet myExcelWorkSheet;
            try
            {
                string path = @"C:\myDocuments\staedte_2.xlsx";
                myExcelWorkbook = app.Workbooks.Add();
                myExcelWorkSheet = myExcelWorkbook.Sheets.Add() as Excel.Worksheet;
                myExcelWorkSheet.Name = "mySheet";

                // Überschriften eingeben 
                myExcelWorkSheet.Cells[2, 2] = "Hamburg";    // Zelle B2 
                myExcelWorkSheet.Cells[2, 3] = "Nürnberg";   // Zelle C2 
                myExcelWorkSheet.Cells[2, 4] = "Hamburg";    // Zelle D2

                // Formatieren der Überschrift 
                Excel.Range myRangeHeadline;
                myRangeHeadline = myExcelWorkSheet.get_Range("B2", "D2");
                myRangeHeadline.Font.Bold = true;
                myRangeHeadline.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
                myRangeHeadline.Borders.Weight = Excel.XlBorderWeight.xlThick;

                // Daten eingeben 
                myExcelWorkSheet.Cells[3, 2] = "18";
                myExcelWorkSheet.Cells[3, 3] = "21";
                myExcelWorkSheet.Cells[3, 4] = "11";
                myExcelWorkSheet.Cells[4, 2] = "21";
                myExcelWorkSheet.Cells[4, 3] = "32";
                myExcelWorkSheet.Cells[4, 4] = "22";
                myExcelWorkSheet.Cells[5, 2] = "12";
                myExcelWorkSheet.Cells[5, 3] = "56";
                myExcelWorkSheet.Cells[5, 4] = "14";
                myExcelWorkSheet.Name = "Kunden";

                myExcelWorkbook.Close(true, path, Type.Missing);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                app.Quit();
            }

Nur ich habe das Problem, dass ich nach dem Erstellen der Excel-Datei, die Datei nur aufmachen kann, wenn ich Excel aufmache und von dort aus die Datei auswähle.

Mit Doppelklick geht es leider nicht.

Habt ihr vielleicht Ideen, warum das nicht geht?

Denn eine Fehlermeldung kommt bei mir leider nicht.

MfG CarolaA.

Thema: Falsche Werte für Tastenkombinationen (Alt+Enter) in Form
Am im Forum: GUI: Windows-Forms

Hey..

@TH69:

KeyPreview ist auf true gesetzt. Aber die Überprüfung klappt trotzdem nicht, da immer der KeyCode für die Alt-Taste kommt, aber kein Stückchen für die Enter-Taste.

Und das blöde ist, man kann kein KeyPreview in einem UserControl setzten, wo ich es bräuchte!

Thema: Falsche Werte für Tastenkombinationen (Alt+Enter) in Form
Am im Forum: GUI: Windows-Forms

Weißt du vielleicht wie ich Alt+Enter überprüfen kann...

denn die oben gezeigte Version funktioniert nicht und sonst finde ich im Internet nicht wirklich etwas anderes!

Thema: Falsche Werte für Tastenkombinationen (Alt+Enter) in Form
Am im Forum: GUI: Windows-Forms

Hallo alle zusammen!

Ich möchte zurzeit in einer Form gerne Alt + Enter drücken und dann soll etwas passieren.


private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Alt && e.KeyCode == Keys.Enter)
            {
            }
        }

Jedoch wird in KeyCode RButton| ShiftKey angezeigt, obwohl dort eigentlich die Nummer für die Enter-Taste sein sollte.

Kann mir vielleicht jemand sagen, was da los ist?

mfg CarolaA

Thema: DataGridView mit Combox zwei Spalten
Am im Forum: GUI: Windows-Forms

@FZelle: stony17 möchte die Weite seiner Spalte mit der ComboBox ändern, wenn er keine zweite Spalte hinzufügen kann!
Und der von mir hinzugefügte Code, macht das möglich, auch wenn ich es mit einer CheckBox gemacht habe!

Thema: DataGridView mit Combox zwei Spalten
Am im Forum: GUI: Windows-Forms



//Dieser Handler wirft manuell die CellValueChange Event aus, indem er die 
//CommitEdit  Methode aufruft
        private void dgvDataView_CurrentCellDirtyStateChanged(object sender, EventArgs e)
        {
            if (dgvDataView.IsCurrentCellDirty)
            {
                dgvDataView.CommitEdit(DataGridViewDataErrorContexts.Commit);
            }
        }
//Hier kann man überprüfen, welchen Wert eine Zelle hat
        private void dgvDataView_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (dgvDataView.Columns[e.ColumnIndex].Name == "CheckBox")
            {
                DataGridViewCheckBoxCell checkBoxCell = (DataGridViewCheckBoxCell)dgvDataView.Rows[e.RowIndex].Cells["CheckBox"];
                if (dgvDataView.Rows[e.RowIndex].Cells["CheckBox"].Value.ToString() == "True")
                {
                    dgvDataView.Columns[e.ColumnIndex].Width = 100;
                }
            }
        }

Thema: DataGridView mit Combox zwei Spalten
Am im Forum: GUI: Windows-Forms

Hallo!

Ein DataGridView kann mehr als nur eine Spalte anzeigen!

Suche mal im Internet nach c# datagridview column hinzufügen, da wirst du einige Sachen finden, die dir sicher weiterhelfen!

mfg CarolaA

Thema: Wie kann ich in einer DataGridViewImageCell einen Button anzeigen lassen?
Am im Forum: GUI: Windows-Forms


public class ButtonAndImageCell : DataGridViewImageCell
        {
            private Button buttonValue;
            private Size buttonSize;

            public override object Clone()
            {
                ButtonAndImageCell c = base.Clone() as ButtonAndImageCell;
                c.buttonSize = this.buttonSize;
                c.buttonValue = this.buttonValue;
                return c;
            }

            public Button Button
            {
                get
                {
                    if (this.OwningColumn == null || this.OwningButtonAndImageColumn == null)
                    {
                        return buttonValue;
                    }
                    else if (this.buttonValue != null)
                    {
                        return this.buttonValue;
                    }
                    else
                    {
                        return this.OwningButtonAndImageColumn.Button;
                    }
                }

                set
                {
                    if (this.buttonValue != null)
                    {

                        this.buttonValue = value;
                        this.buttonSize = value.Size;

                        Padding inheritedPadding = this.InheritedStyle.Padding;
                        this.Style.Padding = new Padding(buttonSize.Width, inheritedPadding.Top, inheritedPadding.Right, inheritedPadding.Bottom);
                    }
                }
            }

            protected override void Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates elementState, object value, object formattedValue, string errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts)
            {
                //Paint the base content
                base.Paint(graphics, clipBounds, cellBounds, rowIndex, elementState, value, formattedValue, errorText, cellStyle, advancedBorderStyle, paintParts);

                if (this.Button != null)
                {                    
System.Drawing.Drawing2D.GraphicsContainer container = graphics.BeginContainer();

                    System.Windows.Forms.ControlPaint.DrawButton(graphics, 10,10, buttonSize.Width, buttonSize.Height, ButtonState.Normal);
                    graphics.EndContainer(container);
                }
            }

            private ButtonAndImageColumn OwningButtonAndImageColumn
            {
                get
                {
                    return this.OwningColumn as ButtonAndImageColumn;
                }
            }
        }

        public class ButtonAndImageColumn : DataGridViewImageColumn
        {
            private Button buttonValue;
            private Size buttonSize;

            public ButtonAndImageColumn()
            {
                this.CellTemplate = new ButtonAndImageCell();
            }

            public override object Clone()
            {
                ButtonAndImageColumn c = base.Clone() as ButtonAndImageColumn;
                c.buttonValue = this.buttonValue;
                c.buttonSize = this.buttonSize;
                return c;
            }

            public Button Button
            {
                get
                {
                    return this.buttonValue;
                }
                set
                {
                    if (this.Button != value)
                    {
                        this.buttonValue = value;
                        this.buttonSize = value.Size;

                        if (this.InheritedStyle != null)
                        {
                            Padding inheritedPadding = this.InheritedStyle.Padding;
                            this.DefaultCellStyle.Padding = new Padding(buttonSize.Width, inheritedPadding.Top, inheritedPadding.Right, inheritedPadding.Bottom);
                        }
                    }
                }
            }

            private ButtonAndImageCell ButtonAndImageCellTemplate
            {
                get
                {
                    return this.CellTemplate as ButtonAndImageCell;
                }
            }       
      }

Thema: Wie kann ich in einer DataGridViewImageCell einen Button anzeigen lassen?
Am im Forum: GUI: Windows-Forms

Also mein Problem ist, dass ich in einer DataGridViewImageCell einen Button anzeigen lassen möchte. Unten seht ihr den Code für eine Zelle, wo Text und Image angezeigt werden können. Ich habe diesen Code versucht umzuschreiben, nur wenn ich dann den Button zeichnen möchte, funktioniert das gar nicht.

Habt ihr dazu eine Idee oder habt es ihr schon mal gemacht?


public class TextAndImageColumn:DataGridViewTextBoxColumn
    {
        private Image imageValue;
        private Size imageSize;

        public TextAndImageColumn()
        {
            this.CellTemplate = new TextAndImageCell();
        }

        public override object Clone()
        {
            TextAndImageColumn c = base.Clone() as TextAndImageColumn;
            c.imageValue = this.imageValue;
            c.imageSize = this.imageSize;
            return c;
        }

        public Image Image
        {
            get { return this.imageValue; }
            set
            {
                if (this.Image != value) {
                    this.imageValue = value;
                    this.imageSize = value.Size;

                    if (this.InheritedStyle != null) {
                        Padding inheritedPadding = this.InheritedStyle.Padding;
                        this.DefaultCellStyle.Padding = new Padding(imageSize.Width,
					 inheritedPadding.Top, inheritedPadding.Right, 
					 inheritedPadding.Bottom);
                    }
                }
            }
        }
        private TextAndImageCell TextAndImageCellTemplate
        {
            get { return this.CellTemplate as TextAndImageCell; }
        }
        internal Size ImageSize
        {
            get { return imageSize; }
        }
    }

    public class TextAndImageCell : DataGridViewTextBoxCell
    {
        private Image imageValue;
        private Size imageSize;
        
        public override object Clone()
        {
            TextAndImageCell c = base.Clone() as TextAndImageCell;
            c.imageValue= this.imageValue;
            c.imageSize = this.imageSize;
            return c;
        }

        public Image Image
        {
            get {
                if (this.OwningColumn == null || 
			this.OwningTextAndImageColumn == null) {

                    return imageValue;
                }
                else if (this.imageValue != null) {
                    return this.imageValue;
                }
                else {
                    return this.OwningTextAndImageColumn.Image;
                }
            }
            set {
                if (this.imageValue != value) {
                    this.imageValue = value;
                    this.imageSize = value.Size;

                    Padding inheritedPadding = this.InheritedStyle.Padding;
                    this.Style.Padding = new Padding(imageSize.Width, 
					inheritedPadding.Top, inheritedPadding.Right, 
					inheritedPadding.Bottom);
                }
            }
        }
        protected override void Paint(Graphics graphics, Rectangle clipBounds,
		Rectangle cellBounds, int rowIndex, DataGridViewElementStates cellState,
		object value, object formattedValue, string errorText, 
		DataGridViewCellStyle cellStyle, 
		DataGridViewAdvancedBorderStyle advancedBorderStyle,
		DataGridViewPaintParts paintParts)
        {
            // Paint the base content
            base.Paint(graphics, clipBounds, cellBounds, rowIndex, cellState, 
			   value, formattedValue, errorText, cellStyle,
			   advancedBorderStyle, paintParts);

            if (this.Image != null) {
                // Draw the image clipped to the cell.
                System.Drawing.Drawing2D.GraphicsContainer container = 
				graphics.BeginContainer();
                
                graphics.SetClip(cellBounds);
                graphics.DrawImageUnscaled(this.Image, cellBounds.Location);

                graphics.EndContainer(container);
            }
        }

        private TextAndImageColumn OwningTextAndImageColumn
        {
            get { return this.OwningColumn as TextAndImageColumn; }
        }
    }