Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C#] selezionare stampante..

    Come faccio a far salvare a un'utente una stampante di destinazione piuttosto che un'altra una sola volta e fare in modo che il mio programmino stampi sempre con quella???

    Il mio problema è che ho creato un programmino che deve partire in automatico ( controllato dalle operazioni pianificate di windows ) e che quando si avvia stampa dei dati prelevati da un database sql server automaticamente, quindi non deve chiedermi la stampante di destinazione ma usare quella specificata magari in un file di configurazione..

    qualcuno sa come aiutarmi?? grazie 1000

  2. #2
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Per selezionare la stampante puoi usare un oggetto PrinterSettings, che è incluso nel namespace System.Drawing.Printing;

    codice:
            using System.Drawing.Printing;
    
            ........ 
            ........
    
            PrinterSettings ps = new PrinterSettings(); 
    	ps.PrinterName = "nome_della_stampante";
    Ciao, Brainjar

  3. #3
    Ti conviene memorizzare in un file le impostazioni definite dall'utente, in modo che all'apertura della tua applicazione tale file venga letto e usato per gestire la stampante che desideri.

  4. #4
    mi resta solo un problema.. vorrei far scegliere all'utente la stampante... ora scrivere su un file il nome della stampante non è un problema e nemmeno poi recuperarlo.. il problema e farmi visualizzare tutti i nomi esatti delle stampanti installate su quella macchina..


    come faccio???

  5. #5
    Hai pensato ad usare il componente PrintDialog?

    Inoltre nella guida in linea di Visual C# 2008 Express puoi trovare il codice su come ottenere la lista delle stampanti visualizzate:

    codice:
    private void PopulateInstalledPrintersCombo()
    {
        // Add list of installed printers found to the combo box.
        // The pkInstalledPrinters string will be used to provide the display string.
        String pkInstalledPrinters;
        for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++){
            pkInstalledPrinters = PrinterSettings.InstalledPrinters[i];
            comboInstalledPrinters.Items.Add(pkInstalledPrinters);
        }
    }
    
    private void comboInstalledPrinters_SelectionChanged(object sender, System.EventArgs e)
    {
    
        // Set the printer to a printer in the combo box when the selection changes.
    
        if (comboInstalledPrinters.SelectedIndex != -1) 
        {
            // The combo box's Text property returns the selected item's text, which is the printer name.
            printDoc.PrinterSettings.PrinterName= comboInstalledPrinters.Text;
        }
    
    }

  6. #6
    come al solito siete dei grandi ed ho risolto quasi tutto

    mi servirebbe solo un'altro piccolo aiutino se è possibile...

    Non sono per niente pratico di combobox e vorrei sapere come visualizzo il valore corrente del nome della stampante nella combo ovvero quello correntemente salvato nel file di testo che mi sono creato...

    Codice PHP:


            
    private void PopulateInstalledPrintersCombo()
            {
                
    using (StreamReader sr = new StreamReader(Application.StartupPath "\\config.txt"))
                {
                    
    String line;
                    while ((
    line sr.ReadLine()) != null)
                    {
                        
    //quì come carico il valore corrente della combo con la stringa line ( il nome salvato nel file di testo )????
                    
    }
                }

                
    String pkInstalledPrinters;
                for (
    int i 0PrinterSettings.InstalledPrinters.Counti++)
                {
                    
    pkInstalledPrinters PrinterSettings.InstalledPrinters[i];
                    
    comboInstalledPrinters.Items.Add(pkInstalledPrinters);
                }
            } 
    il problema è che vuole che prenda l'elemento da una lista e quindi nn so come fare dato che io lo prendo da un file e in + non so l'utente che stampanti ha istallate sul pc

    PopulateInstalledPrintersCombo(); la richiamo al caricamento della form...

    Grazie 1000 in anticipo...

  7. #7
    ho risolto :rollo:

    non fateci caso... mi sono rinco******to

    comboInstalledPrinters.Text = line;

    sono sempre capace di complicarmi la vita

    GRAZIE 1000 A TUTTI

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.