منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
اختيار نوع الطابعة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : اختيار نوع الطابعة (/showthread.php?tid=40671)



اختيار نوع الطابعة - Lathe1 - 02-02-22

اريد تحميل انواع الطابعات التى تم تعريفها فى الجهاز الى كومبو بوكس وعند اختيار طابعة اضغط على الزر فيجعلها الطابعة الافتراضية للجهاز


RE: اختيار نوع الطابعة - عبدالله الدوسري - 02-02-22

[attachment=27568]



كود :
Imports System.Drawing.Printing

Public Class Form1

   Private Sub Form1_Load(ByVal sender As System.Object, _
               ByVal e As System.EventArgs) Handles MyBase.Load

       Dim strInstalledPrinters As String
       Dim prntDoc As New PrintDocument

       'check if there is installed printer
       If PrinterSettings.InstalledPrinters.Count = 0 Then
           MsgBox("No printer installed")
           Exit Sub
       End If

       'display installed printer into combobox list item
       For Each strInstalledPrinters In PrinterSettings.InstalledPrinters
           ComboBox1.Items.Add(strInstalledPrinters)
       Next strInstalledPrinters

       'Display current default printer on combobox texts
       ComboBox1.Text = prntDoc.PrinterSettings.PrinterName

       Button1.Text = "Set Default Printer"


   End Sub

   'Function to set a printer as default
   Function SetDefaulPrinter(ByVal strPrinterName As String) As Boolean
       Dim strCurrPrinter As String
       Dim WsNetwork As Object
       Dim prntDoc As New PrintDocument

       strCurrPrinter = prntDoc.PrinterSettings.PrinterName
       WsNetwork = Microsoft.VisualBasic.CreateObject("WScript.Network")

       Try
           WsNetwork.SetDefaultPrinter(strPrinterName)
           prntDoc.PrinterSettings.PrinterName = strPrinterName

           'set default if selected printer name is a valid installed printer
           If prntDoc.PrinterSettings.IsValid Then
               Return True
           Else
               WsNetwork.SetDefaultPrinter(strCurrPrinter)
               Return False
           End If
       Catch ex As Exception
           WsNetwork.SetDefaultPrinter(strCurrPrinter)
           Return False
       Finally
           WsNetwork = Nothing
           prntDoc = Nothing
       End Try
   End Function
   Private Sub Button1_Click(ByVal sender As System.Object, _
               ByVal e As System.EventArgs) Handles Button1.Click
       If SetDefaulPrinter(ComboBox1.Text) = True Then
           MsgBox("Printer default " & ComboBox1.Text)
       Else
           MsgBox("Printer name " & ComboBox1.Text & " is not valid!")
       End If
   End Sub

End Class



RE: اختيار نوع الطابعة - خالد عبدالهادي - 04-02-22

عندي برنامج شؤون عاملين بالفيجوال بيسك 6 وكريستال ريبورت 8 واريد عند عرض تقرير ما عدم ظهور عنوان التقرير في الأعلى الا في الصفحة الأولى وليس في كل صفحات التقرير


RE: اختيار نوع الطابعة - kebboud - 09-04-23

(02-02-22, 07:26 PM)عبدالله الدوسري كتب :
كود :
Imports System.Drawing.Printing

Public Class Form1

   Private Sub Form1_Load(ByVal sender As System.Object, _
               ByVal e As System.EventArgs) Handles MyBase.Load

       Dim strInstalledPrinters As String
       Dim prntDoc As New PrintDocument

       'check if there is installed printer
       If PrinterSettings.InstalledPrinters.Count = 0 Then
           MsgBox("No printer installed")
           Exit Sub
       End If

       'display installed printer into combobox list item
       For Each strInstalledPrinters In PrinterSettings.InstalledPrinters
           ComboBox1.Items.Add(strInstalledPrinters)
       Next strInstalledPrinters

       'Display current default printer on combobox texts
       ComboBox1.Text = prntDoc.PrinterSettings.PrinterName

       Button1.Text = "Set Default Printer"


   End Sub

   'Function to set a printer as default
   Function SetDefaulPrinter(ByVal strPrinterName As String) As Boolean
       Dim strCurrPrinter As String
       Dim WsNetwork As Object
       Dim prntDoc As New PrintDocument

       strCurrPrinter = prntDoc.PrinterSettings.PrinterName
       WsNetwork = Microsoft.VisualBasic.CreateObject("WScript.Network")

       Try
           WsNetwork.SetDefaultPrinter(strPrinterName)
           prntDoc.PrinterSettings.PrinterName = strPrinterName

           'set default if selected printer name is a valid installed printer
           If prntDoc.PrinterSettings.IsValid Then
               Return True
           Else
               WsNetwork.SetDefaultPrinter(strCurrPrinter)
               Return False
           End If
       Catch ex As Exception
           WsNetwork.SetDefaultPrinter(strCurrPrinter)
           Return False
       Finally
           WsNetwork = Nothing
           prntDoc = Nothing
       End Try
   End Function
   Private Sub Button1_Click(ByVal sender As System.Object, _
               ByVal e As System.EventArgs) Handles Button1.Click
       If SetDefaulPrinter(ComboBox1.Text) = True Then
           MsgBox("Printer default " & ComboBox1.Text)
       Else
           MsgBox("Printer name " & ComboBox1.Text & " is not valid!")
       End If
   End Sub

End Class

السلام عليكم الاستاذ الدوسري
البرنامج وضع خطا أحمر تحت هذه العبارة     WsNetwork.SetDefaultPrinter(strCurrPrinter) و كتب option strict reject any late binding 
علما أنني أختار الخاصية ON في الخيار OPTION STRICT
ما هو الحل ؟


RE: اختيار نوع الطابعة - عبدالله الدوسري - 09-04-23

(09-04-23, 01:45 PM)kebboud كتب : السلام عليكم الاستاذ الدوسري
البرنامج وضع خطا أحمر تحت هذه العبارة     WsNetwork.SetDefaultPrinter(strCurrPrinter) و كتب option strict reject any late binding 
علما أنني أختار الخاصية ON في الخيار OPTION STRICT
ما هو الحل ؟



وعليكم السلام ورحمة الله


الـ OPTION STRICT إذا كان ON :
يعني أنت مانع الربط المتأخر ، بمعنى أن يجب أن يتم تعريف كل شي، وممنوع إستخدام وظيفة في كائن Object






أضف مرجع COM للمكتة التالية :
ابحث  في القسم COM  عن ( Windows Script Host Object Model ) 
قم بإضافتها.



احذف السطر :
كود :
Dim WsNetwork = Microsoft.VisualBasic.CreateObject("WScript.Network")

إستبدلة بـ:
كود :
Dim WsNetwork As New IWshRuntimeLibrary.WshNetwork