Is it possible to add an extended property to components like I can with controls via
IExtenderProvid er?
JackRazz 8 2471
Yes, you can extend properties of controls or components.
JackRazz wrote: Is it possible to add an extended property to components like I can with controls via IExtenderProvid er?
JackRazz
Yes, you can extend properties of controls or components.
JackRazz wrote: Is it possible to add an extended property to components like I can with controls via IExtenderProvid er?
JackRazz
Yea Right,
You have been helping me quite a bit lately<grin>. Thanks for the info. I tried to
extend components and it didn't work. I'll look at it again a little more, since I
now know it should work.
Thanks - JackRazz
"yEaH rIgHt" <no******@haha. com> wrote in message
news:10******** *****@corp.supe rnews.com...
| Yes, you can extend properties of controls or components.
|
|
| JackRazz wrote:
| > Is it possible to add an extended property to components like I can with controls
via
| > IExtenderProvid er?
| >
| > JackRazz
| >
| >
Yea Right,
You have been helping me quite a bit lately<grin>. Thanks for the info. I tried to
extend components and it didn't work. I'll look at it again a little more, since I
now know it should work.
Thanks - JackRazz
"yEaH rIgHt" <no******@haha. com> wrote in message
news:10******** *****@corp.supe rnews.com...
| Yes, you can extend properties of controls or components.
|
|
| JackRazz wrote:
| > Is it possible to add an extended property to components like I can with controls
via
| > IExtenderProvid er?
| >
| > JackRazz
| >
| >
JackRazz, to prove that this is possible, I've extended the Timer
component to include an automatic shutoff after a certain number of
times called. Take a look to see how I did it.
Option Explicit On
Option Strict On
Imports System.Componen tModel
Imports System.Windows. Forms
Imports System.Timers
<ProvidePropert y("AutoShutOff" , GetType(Timers. Timer)), _
ProvideProperty ("ShutOffValue" , GetType(Timers. Timer))> _
Public Class TimerExtender
Inherits System.Componen tModel.Componen t
Implements IExtenderProvid er
Friend ht As New Hashtable()
Dim value As Integer
#Region " Component Designer generated code "
Public Sub New(ByVal Container As System.Componen tModel.IContain er)
MyClass.New()
'Required for Windows.Forms Class Composition Designer support
Container.Add(M e)
End Sub
Public Sub New()
MyBase.New()
'This call is required by the Component Designer.
InitializeCompo nent()
'Add any initialization after the InitializeCompo nent() call
End Sub
'Component overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Disp ose()
End If
End If
MyBase.Dispose( disposing)
End Sub
'Required by the Component Designer
Private components As System.Componen tModel.IContain er
'NOTE: The following procedure is required by the Component Designer
'It can be modified using the Component Designer.
'Do not modify it using the code editor.
<System.Diagnos tics.DebuggerSt epThrough()> Private Sub
InitializeCompo nent()
components = New System.Componen tModel.Containe r()
End Sub
#End Region
Public Function CanExtend(ByVal extendee As Object) As Boolean
Implements System.Componen tModel.IExtende rProvider.CanEx tend
If TypeOf extendee Is Timers.Timer Then
AddPropertyValu e(DirectCast(ex tendee, Timers.Timer))
Return True
Else
Return False
End If
End Function
Private Function AddPropertyValu e(ByVal ctrl As Timers.Timer) As
TimerExtendedPr operties
If ht.Contains(ctr l) Then
Return CType(ht(ctrl), TimerExtendedPr operties)
Else
Dim tbProperties As New TimerExtendedPr operties()
ht.Add(ctrl, tbProperties)
AddHandler ctrl.Elapsed, AddressOf TimerElapsed
Return tbProperties
End If
End Function
Private Sub TimerElapsed(By Val sender As System.Object, ByVal e As
System.Timers.E lapsedEventArgs )
Dim ctrl As Timers.Timer = CType(sender, Timers.Timer)
value += 1
If value >= GetShutOffValue (ctrl) Then
ctrl.Enabled = False
value = 0
End If
End Sub
<Description("E nable automatic shutoff?"), _
DefaultValue(Fa lse)> _
Public Function GetAutoShutOff( ByVal ctrl As Timers.Timer) As Boolean
If ht.Contains(ctr l) Then
Return CType(ht(ctrl), TimerExtendedPr operties).enabl ed
Else
Return False
End If
End Function
Public Sub SetAutoShutOff( ByVal ctrl As Timers.Timer, ByVal value
As Boolean)
AddPropertyValu e(ctrl).enabled = value
End Sub
<Description("V alue of when to shutoff timer."), _
DefaultValue(1) > _
Public Function GetShutOffValue (ByVal ctrl As Timers.Timer)As Integer
If ht.Contains(ctr l) Then
Return CType(ht(ctrl), TimerExtendedPr operties).count
Else
Return 0
End If
End Function
Public Sub SetShutOffValue (ByVal ctrl As Timers.Timer, ByVal value
As Integer)
AddPropertyValu e(ctrl).count = value
End Sub
End Class
Public Class TimerExtendedPr operties
Public enabled As Boolean = False
Public count As Integer = 1
End Class
JackRazz, to prove that this is possible, I've extended the Timer
component to include an automatic shutoff after a certain number of
times called. Take a look to see how I did it.
Option Explicit On
Option Strict On
Imports System.Componen tModel
Imports System.Windows. Forms
Imports System.Timers
<ProvidePropert y("AutoShutOff" , GetType(Timers. Timer)), _
ProvideProperty ("ShutOffValue" , GetType(Timers. Timer))> _
Public Class TimerExtender
Inherits System.Componen tModel.Componen t
Implements IExtenderProvid er
Friend ht As New Hashtable()
Dim value As Integer
#Region " Component Designer generated code "
Public Sub New(ByVal Container As System.Componen tModel.IContain er)
MyClass.New()
'Required for Windows.Forms Class Composition Designer support
Container.Add(M e)
End Sub
Public Sub New()
MyBase.New()
'This call is required by the Component Designer.
InitializeCompo nent()
'Add any initialization after the InitializeCompo nent() call
End Sub
'Component overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Disp ose()
End If
End If
MyBase.Dispose( disposing)
End Sub
'Required by the Component Designer
Private components As System.Componen tModel.IContain er
'NOTE: The following procedure is required by the Component Designer
'It can be modified using the Component Designer.
'Do not modify it using the code editor.
<System.Diagnos tics.DebuggerSt epThrough()> Private Sub
InitializeCompo nent()
components = New System.Componen tModel.Containe r()
End Sub
#End Region
Public Function CanExtend(ByVal extendee As Object) As Boolean
Implements System.Componen tModel.IExtende rProvider.CanEx tend
If TypeOf extendee Is Timers.Timer Then
AddPropertyValu e(DirectCast(ex tendee, Timers.Timer))
Return True
Else
Return False
End If
End Function
Private Function AddPropertyValu e(ByVal ctrl As Timers.Timer) As
TimerExtendedPr operties
If ht.Contains(ctr l) Then
Return CType(ht(ctrl), TimerExtendedPr operties)
Else
Dim tbProperties As New TimerExtendedPr operties()
ht.Add(ctrl, tbProperties)
AddHandler ctrl.Elapsed, AddressOf TimerElapsed
Return tbProperties
End If
End Function
Private Sub TimerElapsed(By Val sender As System.Object, ByVal e As
System.Timers.E lapsedEventArgs )
Dim ctrl As Timers.Timer = CType(sender, Timers.Timer)
value += 1
If value >= GetShutOffValue (ctrl) Then
ctrl.Enabled = False
value = 0
End If
End Sub
<Description("E nable automatic shutoff?"), _
DefaultValue(Fa lse)> _
Public Function GetAutoShutOff( ByVal ctrl As Timers.Timer) As Boolean
If ht.Contains(ctr l) Then
Return CType(ht(ctrl), TimerExtendedPr operties).enabl ed
Else
Return False
End If
End Function
Public Sub SetAutoShutOff( ByVal ctrl As Timers.Timer, ByVal value
As Boolean)
AddPropertyValu e(ctrl).enabled = value
End Sub
<Description("V alue of when to shutoff timer."), _
DefaultValue(1) > _
Public Function GetShutOffValue (ByVal ctrl As Timers.Timer)As Integer
If ht.Contains(ctr l) Then
Return CType(ht(ctrl), TimerExtendedPr operties).count
Else
Return 0
End If
End Function
Public Sub SetShutOffValue (ByVal ctrl As Timers.Timer, ByVal value
As Integer)
AddPropertyValu e(ctrl).count = value
End Sub
End Class
Public Class TimerExtendedPr operties
Public enabled As Boolean = False
Public count As Integer = 1
End Class
Yea Right,
Sorry, I havn't checked back on this in a while as I resolved it. My mistake that
first time was that I copied/pasted extender code from a control and forgot to change
the ProvideProperty .
I had a bit of figuring to do in order for the extended class to handle both
components and controls. After a bit of experimenting, I finally figured out that an
extender can handle both controls and components by simply using GetType(Compone nts)
in the ProvideProperty attribute. I'm guessing this is because controls are
inherited from components.
On another note, I was trying to figure out how to get a components project name
during design time. I just ran across this snippet in a CodeProject example:
private static Object getProject()
{
return
Connect.Applica tion.ActiveDocu ment.ProjectIte m.ContainingPro ject.FileName;
}
It looks like all I need a simple Connect class and I'm in business<grin>. Its
sometimes amazing how I learn something new about the Framework on a daily basis.
Thanks - JackRazz
"yEaH rIgHt" <no******@haha. com> wrote in message
news:10******** *****@corp.supe rnews.com...
| JackRazz, to prove that this is possible, I've extended the Timer
| component to include an automatic shutoff after a certain number of
| times called. Take a look to see how I did it.
|
|
| Option Explicit On
| Option Strict On
|
| Imports System.Componen tModel
| Imports System.Windows. Forms
| Imports System.Timers
|
| <ProvidePropert y("AutoShutOff" , GetType(Timers. Timer)), _
| ProvideProperty ("ShutOffValue" , GetType(Timers. Timer))> _
| Public Class TimerExtender
| Inherits System.Componen tModel.Componen t
| Implements IExtenderProvid er
|
| Friend ht As New Hashtable()
| Dim value As Integer
| #Region " Component Designer generated code "
|
| Public Sub New(ByVal Container As System.Componen tModel.IContain er)
| MyClass.New()
|
| 'Required for Windows.Forms Class Composition Designer support
| Container.Add(M e)
| End Sub
|
| Public Sub New()
| MyBase.New()
|
| 'This call is required by the Component Designer.
| InitializeCompo nent()
|
| 'Add any initialization after the InitializeCompo nent() call
|
| End Sub
|
| 'Component overrides dispose to clean up the component list.
| Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
| If disposing Then
| If Not (components Is Nothing) Then
| components.Disp ose()
| End If
| End If
| MyBase.Dispose( disposing)
| End Sub
|
| 'Required by the Component Designer
| Private components As System.Componen tModel.IContain er
|
| 'NOTE: The following procedure is required by the Component Designer
| 'It can be modified using the Component Designer.
| 'Do not modify it using the code editor.
| <System.Diagnos tics.DebuggerSt epThrough()> Private Sub
| InitializeCompo nent()
| components = New System.Componen tModel.Containe r()
| End Sub
|
| #End Region
|
|
| Public Function CanExtend(ByVal extendee As Object) As Boolean
| Implements System.Componen tModel.IExtende rProvider.CanEx tend
|
| If TypeOf extendee Is Timers.Timer Then
| AddPropertyValu e(DirectCast(ex tendee, Timers.Timer))
| Return True
| Else
| Return False
| End If
|
| End Function
|
|
|
|
| Private Function AddPropertyValu e(ByVal ctrl As Timers.Timer) As
| TimerExtendedPr operties
|
| If ht.Contains(ctr l) Then
| Return CType(ht(ctrl), TimerExtendedPr operties)
| Else
| Dim tbProperties As New TimerExtendedPr operties()
|
| ht.Add(ctrl, tbProperties)
|
| AddHandler ctrl.Elapsed, AddressOf TimerElapsed
|
| Return tbProperties
|
| End If
|
| End Function
|
|
| Private Sub TimerElapsed(By Val sender As System.Object, ByVal e As
| System.Timers.E lapsedEventArgs )
|
| Dim ctrl As Timers.Timer = CType(sender, Timers.Timer)
|
| value += 1
|
| If value >= GetShutOffValue (ctrl) Then
| ctrl.Enabled = False
| value = 0
| End If
|
| End Sub
|
|
|
| <Description("E nable automatic shutoff?"), _
| DefaultValue(Fa lse)> _
| Public Function GetAutoShutOff( ByVal ctrl As Timers.Timer) As Boolean
|
| If ht.Contains(ctr l) Then
| Return CType(ht(ctrl), TimerExtendedPr operties).enabl ed
| Else
| Return False
| End If
|
|
| End Function
|
| Public Sub SetAutoShutOff( ByVal ctrl As Timers.Timer, ByVal value
| As Boolean)
| AddPropertyValu e(ctrl).enabled = value
| End Sub
|
| <Description("V alue of when to shutoff timer."), _
| DefaultValue(1) > _
| Public Function GetShutOffValue (ByVal ctrl As Timers.Timer)As Integer
|
| If ht.Contains(ctr l) Then
| Return CType(ht(ctrl), TimerExtendedPr operties).count
| Else
| Return 0
| End If
|
|
| End Function
|
| Public Sub SetShutOffValue (ByVal ctrl As Timers.Timer, ByVal value
| As Integer)
| AddPropertyValu e(ctrl).count = value
| End Sub
|
|
|
| End Class
|
|
| Public Class TimerExtendedPr operties
| Public enabled As Boolean = False
| Public count As Integer = 1
| End Class
Yea Right,
Sorry, I havn't checked back on this in a while as I resolved it. My mistake that
first time was that I copied/pasted extender code from a control and forgot to change
the ProvideProperty .
I had a bit of figuring to do in order for the extended class to handle both
components and controls. After a bit of experimenting, I finally figured out that an
extender can handle both controls and components by simply using GetType(Compone nts)
in the ProvideProperty attribute. I'm guessing this is because controls are
inherited from components.
On another note, I was trying to figure out how to get a components project name
during design time. I just ran across this snippet in a CodeProject example:
private static Object getProject()
{
return
Connect.Applica tion.ActiveDocu ment.ProjectIte m.ContainingPro ject.FileName;
}
It looks like all I need a simple Connect class and I'm in business<grin>. Its
sometimes amazing how I learn something new about the Framework on a daily basis.
Thanks - JackRazz
"yEaH rIgHt" <no******@haha. com> wrote in message
news:10******** *****@corp.supe rnews.com...
| JackRazz, to prove that this is possible, I've extended the Timer
| component to include an automatic shutoff after a certain number of
| times called. Take a look to see how I did it.
|
|
| Option Explicit On
| Option Strict On
|
| Imports System.Componen tModel
| Imports System.Windows. Forms
| Imports System.Timers
|
| <ProvidePropert y("AutoShutOff" , GetType(Timers. Timer)), _
| ProvideProperty ("ShutOffValue" , GetType(Timers. Timer))> _
| Public Class TimerExtender
| Inherits System.Componen tModel.Componen t
| Implements IExtenderProvid er
|
| Friend ht As New Hashtable()
| Dim value As Integer
| #Region " Component Designer generated code "
|
| Public Sub New(ByVal Container As System.Componen tModel.IContain er)
| MyClass.New()
|
| 'Required for Windows.Forms Class Composition Designer support
| Container.Add(M e)
| End Sub
|
| Public Sub New()
| MyBase.New()
|
| 'This call is required by the Component Designer.
| InitializeCompo nent()
|
| 'Add any initialization after the InitializeCompo nent() call
|
| End Sub
|
| 'Component overrides dispose to clean up the component list.
| Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
| If disposing Then
| If Not (components Is Nothing) Then
| components.Disp ose()
| End If
| End If
| MyBase.Dispose( disposing)
| End Sub
|
| 'Required by the Component Designer
| Private components As System.Componen tModel.IContain er
|
| 'NOTE: The following procedure is required by the Component Designer
| 'It can be modified using the Component Designer.
| 'Do not modify it using the code editor.
| <System.Diagnos tics.DebuggerSt epThrough()> Private Sub
| InitializeCompo nent()
| components = New System.Componen tModel.Containe r()
| End Sub
|
| #End Region
|
|
| Public Function CanExtend(ByVal extendee As Object) As Boolean
| Implements System.Componen tModel.IExtende rProvider.CanEx tend
|
| If TypeOf extendee Is Timers.Timer Then
| AddPropertyValu e(DirectCast(ex tendee, Timers.Timer))
| Return True
| Else
| Return False
| End If
|
| End Function
|
|
|
|
| Private Function AddPropertyValu e(ByVal ctrl As Timers.Timer) As
| TimerExtendedPr operties
|
| If ht.Contains(ctr l) Then
| Return CType(ht(ctrl), TimerExtendedPr operties)
| Else
| Dim tbProperties As New TimerExtendedPr operties()
|
| ht.Add(ctrl, tbProperties)
|
| AddHandler ctrl.Elapsed, AddressOf TimerElapsed
|
| Return tbProperties
|
| End If
|
| End Function
|
|
| Private Sub TimerElapsed(By Val sender As System.Object, ByVal e As
| System.Timers.E lapsedEventArgs )
|
| Dim ctrl As Timers.Timer = CType(sender, Timers.Timer)
|
| value += 1
|
| If value >= GetShutOffValue (ctrl) Then
| ctrl.Enabled = False
| value = 0
| End If
|
| End Sub
|
|
|
| <Description("E nable automatic shutoff?"), _
| DefaultValue(Fa lse)> _
| Public Function GetAutoShutOff( ByVal ctrl As Timers.Timer) As Boolean
|
| If ht.Contains(ctr l) Then
| Return CType(ht(ctrl), TimerExtendedPr operties).enabl ed
| Else
| Return False
| End If
|
|
| End Function
|
| Public Sub SetAutoShutOff( ByVal ctrl As Timers.Timer, ByVal value
| As Boolean)
| AddPropertyValu e(ctrl).enabled = value
| End Sub
|
| <Description("V alue of when to shutoff timer."), _
| DefaultValue(1) > _
| Public Function GetShutOffValue (ByVal ctrl As Timers.Timer)As Integer
|
| If ht.Contains(ctr l) Then
| Return CType(ht(ctrl), TimerExtendedPr operties).count
| Else
| Return 0
| End If
|
|
| End Function
|
| Public Sub SetShutOffValue (ByVal ctrl As Timers.Timer, ByVal value
| As Integer)
| AddPropertyValu e(ctrl).count = value
| End Sub
|
|
|
| End Class
|
|
| Public Class TimerExtendedPr operties
| Public enabled As Boolean = False
| Public count As Integer = 1
| End Class This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Yasutaka Ito |
last post by:
Hi,
As you know, all the non-ui components (like Timer control, etc.) that sit
on the form are contained in its private variable 'components'.
How can I enumerate such components from any form instance given to me? I
have no access to the source of the given form instance, but I can impose
that the form be inherited from certain base class I provide.
Would appreciate any inputs. If there is other way to access the non-ui
|
by: james |
last post by:
I have a custom UserControl, which can have many sub class levels
derived from it. I want to be able to discover all the components at
Load time, but the only components I can see from the base class
are the private components internal to the base class itself. What
I want are ALL components for the entire class no matter how many
levels of sub-classing this particular control contains.
I do not want to have to force the child classes to...
|
by: JessCurious |
last post by:
after reading Bob Powell's excellent article in WellFormed it occurred to me
that IExtenderProvider is probably how VS implements ToolTips as a property
(was a mystery!).
1. is it confusing to be placing Properties into the Designer view that
aren't "really" properties? perhaps a better way of saying this is, should
there be a conventional way of doing this (such as naming style, coloring
etc). what's the consensus on whether to take...
|
by: Genival P.Carvalho |
last post by:
Hello folks,
First sorry my bad english.
I will try to implement a IExtenderProvider + Verbs (Designer). When
compile tha follow code its compile fine, but whem drag resulting
componet under form i gain a error: Specified Cast Is Not Valid :(
Code.
#Region "NameSpaces Area"
|
by: JackRazz |
last post by:
Is it possible to add an extended property to components like I can with controls via
IExtenderProvider?
JackRazz
| |
by: Phill. W |
last post by:
I understand how to use the IExtenderProvider Interface
to add a "dynamic" property to a Control, but is there any
equivalent "mechanism" for using this extendability with just /any-old/
class, which might /not/ be a Control, something like:
Class Zebedee
Inherits SomethingThatIsNotAControl
.. . .
|
by: Mark Collard |
last post by:
When you add a ToolTip component to a Form (or UserControl) the other
controls on the form display a ToolTip property in the property grid. This is
because it implements the IExtenderProvider interface and other bits and
pieces. I've looked at examples on the following pages, but none of them show
how to add a property that returns a class object.
http://msdn2.microsoft.com/en-us/library/system.componentmodel.iextenderprovider.aspx...
|
by: =?Utf-8?B?VHJpc3RlbiBGaWVsZGluZw==?= |
last post by:
I've added an IExtenderProvider interface to a class called
RadioButtonGroupPanel (which derives from Panel) and have added the attribute
called .
I've defined the following members:
public void SetValue(RadioButton radioButton, object checkedValue) { }
public object GetValue(RadioButton radioButton) { return null; }
I do get a Value row under the Group category when I select a RadioButton
|
by: J.B. Moreno |
last post by:
Hello,
I'm migrating a VB6 app to .Net and of course it uses the DataField
property for databinding, which of course isn't available under .Net.
On several forms it also uses the Tag property to "group" controls for
display/enabling, so I can't just switch from DataField to Tag.
Which would you consider the better practice -- to create a subclass of
the various controls and and the extra property that way, or to use an
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
| |
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |