XGuarden
Messages postés259Date d'inscriptiondimanche 14 juillet 2002StatutMembreDernière intervention17 août 2012
-
16 déc. 2006 à 15:34
XGuarden
Messages postés259Date d'inscriptiondimanche 14 juillet 2002StatutMembreDernière intervention17 août 2012
-
19 déc. 2006 à 15:05
Bonjour, voici mon code:
Imports Microsoft.Office.Interop.excel
Public Class TextBoxValidator
Inherits System.Windows.Forms.TextBox
Private mValidtion As Validation
Public Property Validation() As Validation
Get
Return mValidtion
End Get
Set(ByVal Value As Validation)
mValidtion = Value
End Set
End Property
End Class
Public Class ComboBoxValidator
Inherits System.Windows.Forms.ComboBox
Private mValidtion As Validation
Public Property Validation() As Validation
Get
Return mValidtion
End Get
Set(ByVal Value As Validation)
mValidtion = Value
End Set
End Property
End Class
Public Class DateTimePickerValidator
Inherits System.Windows.Forms.DateTimePicker
Private mValidtion As Validation
Public Property Validation() As Validation
Get
Return mValidtion
End Get
Set(ByVal Value As Validation)
mValidtion = Value
End Set
End Property
End Class
Il fait ce que j'ai besoin mais je trouve que ce code est tres répétitif......
Ya t'il un moyen de les mettes toute les trois dans une seul class?
Genr eque dans le Sub New je donne en parametre le type que je désire ...
Merci d'avance =:0)
XGuarden
Messages postés259Date d'inscriptiondimanche 14 juillet 2002StatutMembreDernière intervention17 août 2012 16 déc. 2006 à 15:54
Anyway, ya de quoi que j'ai pas fait de corecte lol
J'ai fait
dim x as new TextBoxValidator
et ya pas x.validation dans les option lol.
Je me demane pourquoi...
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 16 déc. 2006 à 18:09
Salut
Je te propose
Public Class ControlValidator
Inherits System.Windows.Forms.Controls
Private mValidtion As Validation
Public Property Validation() As Validation
Get
Return mValidtion
End Get
Set(ByVal Value As Validation)
mValidtion = Value
End Set
End Property
End Class
Control est l'ancetre de tous tes composants winforms
Et il ne reste plus qu'une seule classe
Que tu peux derivé comme tu le fais si tu veux un traitement special pour tes combobox par exemple.
XGuarden
Messages postés259Date d'inscriptiondimanche 14 juillet 2002StatutMembreDernière intervention17 août 2012 17 déc. 2006 à 01:01
Ces justement ce que j'ai fait juste avant que tu poste ce code. sur cette partie sa marche tres bien maintenant. Cepandant sa me cause des probleme plus tard... J'esplique...
J'ajoute ces controles sur ma forme apres. Grace au code ci dessous. Il y a 3 type de varible de controle de retour posible:
textbox,combobox, datepicker. Mais une fois que mon controle est fait , je ne peu plus faire de conversion. Genre normalement je peu transformer de type textbox vers controle... mais je ne peu pas transferer de type textbox vers ControlValidator. Merci de m'aider =:0)
Private Function GetControl(ByVal cell As String, ByVal validation As Excel.Validation) As Control
Static index As Integer = 0
Dim mycontrol As New ControlValidator
Try
Select Case validation.Type
Case xlValidateList
Dim text As New ComboBox
text.Items.AddRange(validation.Formula1.Split(";".ToCharArray))
text.Text = text.Items(0).ToString
'Error 1 Value of type 'System.Windows.Forms.ComboBox' cannot be converted to 'ExcelConnection.ControlValidator'.
mycontrol = text
Case xlValidateDate
Dim time As New DateTimePicker
'Error 2 Value of type 'System.Windows.Forms.DateTimePicker' cannot be converted to 'ExcelConnection.ControlValidator'.
mycontrol = time
Case Else
Dim text As New TextBox
'Error 3 Value of type 'System.Windows.Forms.TextBox' cannot be converted to 'ExcelConnection.ControlValidator'.
mycontrol = text
End Select
Catch Er As Exception
If Err.Number = 1004 Then
Dim text As New TextBox
'Error 3 Value of type 'System.Windows.Forms.TextBox' cannot be converted to 'ExcelConnection.ControlValidator'.
mycontrol = text
Err.Clear()
Else
MsgBox(Er.InnerException)
End If
End Try
mycontrol.Validation = validation
mycontrol.ValidationCell = cell
mycontrol.AutoSize = True
mycontrol.Location = New System.Drawing.Point(0, 0)
mycontrol.Name = "lblinfo" & index.ToString
mycontrol.Size = New System.Drawing.Size(80, 20)
mycontrol.Dock = DockStyle.Fill
AddHandler mycontrol.Validating, AddressOf TextValidating
index = index + 1
Return mycontrol
End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 17 déc. 2006 à 12:41
Salut
Je pense que tu t'y prends mal, j'ai un peu de mal a comprenderte ce que tu veux.
Mais je vais tenté une réponse.
Private Function GetControl(ByVal cell As String, ByVal validation As Excel.Validation, controltovalidate as control ) As Control
Static index As Integer = 0
Dim mycontrol As New ControlValidator
XGuarden
Messages postés259Date d'inscriptiondimanche 14 juillet 2002StatutMembreDernière intervention17 août 2012 19 déc. 2006 à 15:05
Na sa peu pas amrcher sa =:0( Si sa te dit je peu te montrer la source complet tu vavoir sé quoi l'utilité lol. ta qua me donner ton email pi je vais tenvoyer sa