C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■84089 / )  Re[1]: コンボボックスにプリンター名が追加されない
□投稿者/ 魔界の仮面弁士 (1277回)-(2017/05/14(Sun) 23:36:00)
2017/05/15(Mon) 07:41:12 編集(投稿者)

No84088 (YKT さん) に返信
> コンボボックスにプリンタ名が追加れないことで悩んでいます。
まず、元のコードにおいて
 Dim PrinterName As String
には何がセットされているのでしょうか?

そして System.Drawing.Printing.PrinterSettings.InstalledPrinters.Count は
どのような値を返してきますか? これが 0 を返すなら、そもそも
利用可能なプリンターが存在していない可能性が出てきます。


> Me.cboSize.Items.Clear()
> Me.cboWise.Items.Clear()

この 2 つは特に使われていないようですが、今回の質問とは無関係なのでしょうか。
(size は "サイズ" のことだとして…、wise は "賢明な" ?)


> Dim prtPrinter As New System.Drawing.Printing.PrintDocument
既定のプリンターを得たいだけなら、PrintDocument を経由せずとも
PrinterSettings だけで辿れますよ。

'Imports System.Drawing.Printing

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  Dim printerNames = PrinterSettings.InstalledPrinters.OfType(Of String)().ToArray()
  'Array.Sort(printerNames)
  cboPrinter.DataSource = printerNames
  cboPrinter.SelectedIndex = Array.IndexOf(printerNames, New PrinterSettings().PrinterName)
End Sub
返信 編集キー/


管理者用

- Child Tree -