473,773 Members | 2,286 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

toolbox and usercontrol problem


I have created a UserControl and added it to my toolbox. It appears in
the toolbox with the icon I created for it. The problem is that when I
drag the control onto a form no code is generated. If I manually add
the code for creating the control to the form everything works fine. I
have created other controls w/o problems and cannot see anything I am
doing different in this case.

Does anyone have any idea what I could be doing wrong?

Thanks
Nov 16 '05 #1
4 2149
Can you post the code for your UserControl?

--
Tim Wilson
..Net Compact Framework MVP

"steve bull" <bu****@comcast .net> wrote in message
news:up******** *************** *********@4ax.c om...

I have created a UserControl and added it to my toolbox. It appears in
the toolbox with the icon I created for it. The problem is that when I
drag the control onto a form no code is generated. If I manually add
the code for creating the control to the form everything works fine. I
have created other controls w/o problems and cannot see anything I am
doing different in this case.

Does anyone have any idea what I could be doing wrong?

Thanks

Nov 16 '05 #2


On Mon, 21 Mar 2005 22:19:06 -0500, "Tim Wilson" <TIM(UNDERSCORE )WILSON(AT)ROGE RS(PERIOD)COM> wrote:
Can you post the code for your UserControl?

well, this is the whole thing. I took the control from the colorpicker control on the MSDN website. I have changed it
very little so far. The original came with a form demo. I just moved the logic for creating the gradient into the
constructor from the form, added the Toolbox statements and moved the Event handler into the main module.

The control is a Photoshop style color slider taken from :
http://msdn.microsoft.com/library/de...olorpicker.asp

The color slider was just one of the controls inside the colorpicker control. It is basically a rectangle with a
gradient fill and 2 triangles on either side of it that shows the color level. Of red at the moment.

Thanks

using System;
using System.Data;
using System.Collecti ons.Specialized ;
using System.Diagnost ics;
using System.Drawing;
using System.Drawing. Drawing2D;
using System.Windows. Forms;

namespace NewControls
{
public delegate void ValueChangedHan dler(object sender, ValueChangedEve ntArgs e);
public class ValueChangedEve ntArgs : EventArgs
{
private int m_value;

public int Value
{
get { return m_value; }
}

public ValueChangedEve ntArgs( int newValue )
{
m_value = newValue;
}
}


[ToolboxItem(tru e)]
[ToolboxBitmap(t ypeof(ColorSlid er),@"D:\Develo pment\NewContro ls\ColorSlider. bmp")]

public class ColorSlider : System.Windows. Forms.UserContr ol
{
public event ValueChangedHan dler ValueChanged;

// private data members

private bool m_isLeftMouseBu ttonDown;
private bool m_isLeftMouseBu ttonDownAndMovi ng;
private int m_currentArrowY Location;
private Rectangle m_leftArrowRegi on;
private Rectangle m_rightArrowReg ion;
// readonly

private readonly Rectangle m_colorRegion = new Rectangle( 13, 7, 18, 256 );
private readonly Rectangle m_outerRegion = new Rectangle( 10, 4, 26, 264 );
private readonly Bitmap m_colorBitmap = new Bitmap( 18, 256 );
// constants

private const int POINTER_HEIGHT = 10;
private const int POINTER_WIDTH = 6;
/// <summary>
/// Constructor.
/// </summary>

public ColorSlider() : base()
{
m_currentArrowY Location = m_colorRegion.T op;

using ( Graphics g = Graphics.FromIm age(ColorBitmap ) )
{
Color startColor = Color.FromArgb( 0, 0, 0 );
Color endColor = Color.FromArgb( 255, 0, 0 );

Rectangle region = new Rectangle( 0, 0, 18, 300 );
using (LinearGradient Brush lgb = new LinearGradientB rush(region,

startColor,

endColor,

270f))
{
g.FillRectangle ( lgb, region );
}
}

} /* End of ColorSlider() */

/// <summary>
/// Gets or sets the color slider bitmap.
/// </summary>
public Bitmap ColorBitmap
{
get { return m_colorBitmap; }
} /* End of ColorBitmap */

protected override void OnPaint(PaintEv entArgs e)
{
base.OnPaint (e);

using ( Graphics g = e.Graphics )
{
CreateLeftTrian glePointer( g, m_currentArrowY Location );
CreateRightTria nglePointer( g, m_currentArrowY Location );
if ( m_colorBitmap != null )
{
g.DrawImage( m_colorBitmap, m_colorRegion );
}
ControlPaint.Dr awBorder3D( g, m_outerRegion );
g.DrawRectangle ( Pens.Black, m_colorRegion );

}

} /* End of OnPaint(PaintEv entArgs) */

protected override void OnMouseDown(Mou seEventArgs e)
{
if ( e.Button == MouseButtons.Le ft )
{
m_isLeftMouseBu ttonDown = true;
CheckCursorYReg ion( e.Y );
}

base.OnMouseDow n (e);

} /* End of OnMouseDown(Mou seEventArgs) */

protected override void OnMouseMove(Mou seEventArgs e)
{
if ( m_isLeftMouseBu ttonDown )
{
m_isLeftMouseBu ttonDownAndMovi ng = true;
CheckCursorYReg ion( e.Y );
}

base.OnMouseMov e (e);

} /* End of OnMouseMove(Mou seEventArgs) */

protected override void OnMouseUp(Mouse EventArgs e)
{
m_isLeftMouseBu ttonDown = false;
m_isLeftMouseBu ttonDownAndMovi ng = false;

base.OnMouseUp (e);

} /* End of OnMouseUp(Mouse EventArgs) */


/// <summary>
/// Calculates the points needed to draw the left triangle pointer for
/// the value strip.
/// </summary>
/// <param name="g">Graphi cs object.</param>
/// <param name="y">Curren t cursor y-value.</param>
private void CreateLeftTrian glePointer( Graphics g, int y )
{
Point[] points = {new Point(m_outerRe gion.Left - POINTER_WIDTH - 1, y - (POINTER_HEIGHT / 2)),
new Point(m_outerRe gion.Left - 2, y),
new Point(m_outerRe gion.Left - POINTER_WIDTH - 1,
y + (POINTER_HEIGHT / 2))};

g.DrawPolygon( Pens.Black, points );

}
/// <summary>
/// Calculates the points needed to draw the right triangle pointer for
/// the color slider.
/// </summary>
/// <param name="g">Graphi cs object.</param>
/// <param name="y">Curren t cursor y-value.</param>

private void CreateRightTria nglePointer( Graphics g, int y )
{
Point[] points = {new Point(m_outerRe gion.Right - 1 + POINTER_WIDTH, y - (POINTER_HEIGHT / 2)),
new Point(m_outerRe gion.Right, y),
new Point(m_outerRe gion.Right - 1 + POINTER_WIDTH,
y + (POINTER_HEIGHT/2))};

g.DrawPolygon( Pens.Black, points );

}

/// <summary>
/// Determines the color slider left triangle pointer invalidation
/// region.
/// </summary>
/// <param name="arrowY">C urrent cursor y-value.</param>
/// <returns>A rectangle object representing the area to be
/// invalidated.</returns>
private Rectangle GetLeftTriangle PointerInvalida tionRegion(int arrowY)
{
int leftPadding = POINTER_WIDTH + 2;
int x = m_outerRegion.L eft - leftPadding;
int y = arrowY - ( POINTER_HEIGHT / 2 ) - 1;
int width = POINTER_WIDTH + 2;
int height = POINTER_HEIGHT + 3;

return new Rectangle(x, y, width, height);
} /* End of GetLeftTriangle PointerInvalida tionRegion(int) */

/// <summary>
/// Determines the color slider right triangle pointer invalidation
/// region.
/// </summary>
/// <param name="arrowY">C urrent cursor y-value</param>
/// <returns>A rectangle object representing the area to be
/// invalidated.</returns>

private Rectangle GetRightTriangl ePointerInvalid ationRegion( int arrowY )
{
int x = m_outerRegion.R ight;
int y = arrowY - ( POINTER_HEIGHT / 2 ) - 1;
int width = POINTER_WIDTH + 2;
int height = POINTER_HEIGHT + 3;

return new Rectangle( x, y, width, height );
} /* End of GetRightTriangl ePointerInvalid ationRegion(int ) */


private void CheckCursorYReg ion( int y )
{
int mValue = y;

if ( m_isLeftMouseBu ttonDown && !m_isLeftMouseB uttonDownAndMov ing )
{
if ( y < m_colorRegion.T op || y > m_colorRegion.B ottom )
return;
}
else if ( m_isLeftMouseBu ttonDownAndMovi ng )
{
if ( y < m_colorRegion.T op )
mValue = m_colorRegion.T op;
else if ( y >= m_colorRegion.B ottom )
mValue = m_colorRegion.B ottom - 1;

}
else
return;

m_currentArrowY Location = mValue;

InvalidateArrow Regions( mValue );
if ( ValueChanged != null )
ValueChanged(th is, new ValueChangedEve ntArgs(255 - (mValue - m_colorRegion.T op)));

} /* End of CheckCursorYReg ion(int) */
private void InvalidateArrow Regions(int y)
{
this.Invalidate ( m_leftArrowRegi on );
this.Invalidate ( m_rightArrowReg ion );

m_leftArrowRegi on = this.GetLeftTri anglePointerInv alidationRegion ( y );
m_rightArrowReg ion = this.GetRightTr ianglePointerIn validationRegio n( y );

this.Invalidate (m_leftArrowReg ion);
this.Invalidate (m_rightArrowRe gion);

} /* End of InvalidateArrow Regions(int) */
} /* End of public class ColorSlider */

} /* End of namespace NewControls

Nov 16 '05 #3
I included the following line to get the code to compile:
using System.Componen tModel;

I then added the UserControl to the ToolBox by right-clicking the ToolBox,
choosing the "Add/Remove Items..." option, and locating the assembly.

When I drag and drop the control onto the Form it shows up fine and
generates the proper code in the InitializeCompo nent() method. So it seems
to work ok at my end.

--
Tim Wilson
..Net Compact Framework MVP

"steve bull" <bu****@comcast .net> wrote in message
news:97******** *************** *********@4ax.c om...


On Mon, 21 Mar 2005 22:19:06 -0500, "Tim Wilson" <TIM(UNDERSCORE )WILSON(AT)ROGE RS(PERIOD)COM> wrote:
Can you post the code for your UserControl?

well, this is the whole thing. I took the control from the colorpicker

control on the MSDN website. I have changed it very little so far. The original came with a form demo. I just moved the logic for creating the gradient into the constructor from the form, added the Toolbox statements and moved the Event handler into the main module.
The control is a Photoshop style color slider taken from :
http://msdn.microsoft.com/library/de...olorpicker.asp
The color slider was just one of the controls inside the colorpicker control. It is basically a rectangle with a gradient fill and 2 triangles on either side of it that shows the color level. Of red at the moment.
Thanks

using System;
using System.Data;
using System.Collecti ons.Specialized ;
using System.Diagnost ics;
using System.Drawing;
using System.Drawing. Drawing2D;
using System.Windows. Forms;

namespace NewControls
{
public delegate void ValueChangedHan dler(object sender, ValueChangedEve ntArgs e);

public class ValueChangedEve ntArgs : EventArgs
{
private int m_value;

public int Value
{
get { return m_value; }
}

public ValueChangedEve ntArgs( int newValue )
{
m_value = newValue;
}
}


[ToolboxItem(tru e)]
[ToolboxBitmap(t ypeof(ColorSlid er),@"D:\Develo pment\NewContro ls\ColorSlider.
bmp")]
public class ColorSlider : System.Windows. Forms.UserContr ol
{
public event ValueChangedHan dler ValueChanged;

// private data members

private bool m_isLeftMouseBu ttonDown;
private bool m_isLeftMouseBu ttonDownAndMovi ng;
private int m_currentArrowY Location;
private Rectangle m_leftArrowRegi on;
private Rectangle m_rightArrowReg ion;
// readonly

private readonly Rectangle m_colorRegion = new Rectangle( 13, 7, 18, 256 ); private readonly Rectangle m_outerRegion = new Rectangle( 10, 4, 26, 264 ); private readonly Bitmap m_colorBitmap = new Bitmap( 18, 256 );

// constants

private const int POINTER_HEIGHT = 10; private const int POINTER_WIDTH = 6;

/// <summary>
/// Constructor.
/// </summary>

public ColorSlider() : base()
{
m_currentArrowY Location = m_colorRegion.T op;

using ( Graphics g = Graphics.FromIm age(ColorBitmap ) ) {
Color startColor = Color.FromArgb( 0, 0, 0 ); Color endColor = Color.FromArgb( 255, 0, 0 );
Rectangle region = new Rectangle( 0, 0, 18, 300 ); using (LinearGradient Brush lgb = new LinearGradientB rush(region,
startColor,

endColor,

270f))
{
g.FillRectangle ( lgb, region );
}
}

} /* End of ColorSlider() */

/// <summary>
/// Gets or sets the color slider bitmap.
/// </summary>
public Bitmap ColorBitmap
{
get { return m_colorBitmap; }
} /* End of ColorBitmap */

protected override void OnPaint(PaintEv entArgs e)
{
base.OnPaint (e);

using ( Graphics g = e.Graphics )
{
CreateLeftTrian glePointer( g, m_currentArrowY Location ); CreateRightTria nglePointer( g, m_currentArrowY Location );

if ( m_colorBitmap != null )
{
g.DrawImage( m_colorBitmap, m_colorRegion ); }
ControlPaint.Dr awBorder3D( g, m_outerRegion ); g.DrawRectangle ( Pens.Black, m_colorRegion );
}

} /* End of OnPaint(PaintEv entArgs) */

protected override void OnMouseDown(Mou seEventArgs e)
{
if ( e.Button == MouseButtons.Le ft )
{
m_isLeftMouseBu ttonDown = true;
CheckCursorYReg ion( e.Y );
}

base.OnMouseDow n (e);

} /* End of OnMouseDown(Mou seEventArgs) */

protected override void OnMouseMove(Mou seEventArgs e)
{
if ( m_isLeftMouseBu ttonDown )
{
m_isLeftMouseBu ttonDownAndMovi ng = true;
CheckCursorYReg ion( e.Y );
}

base.OnMouseMov e (e);

} /* End of OnMouseMove(Mou seEventArgs) */

protected override void OnMouseUp(Mouse EventArgs e)
{
m_isLeftMouseBu ttonDown = false;
m_isLeftMouseBu ttonDownAndMovi ng = false;

base.OnMouseUp (e);

} /* End of OnMouseUp(Mouse EventArgs) */


/// <summary>
/// Calculates the points needed to draw the left triangle pointer for /// the value strip.
/// </summary>
/// <param name="g">Graphi cs object.</param>
/// <param name="y">Curren t cursor y-value.</param>
private void CreateLeftTrian glePointer( Graphics g, int y ) {
Point[] points = {new Point(m_outerRe gion.Left - POINTER_WIDTH - 1, y - (POINTER_HEIGHT / 2)), new Point(m_outerRe gion.Left - 2, y), new Point(m_outerRe gion.Left - POINTER_WIDTH - 1, y + (POINTER_HEIGHT / 2))};
g.DrawPolygon( Pens.Black, points );

}
/// <summary>
/// Calculates the points needed to draw the right triangle pointer for /// the color slider.
/// </summary>
/// <param name="g">Graphi cs object.</param>
/// <param name="y">Curren t cursor y-value.</param>

private void CreateRightTria nglePointer( Graphics g, int y ) {
Point[] points = {new Point(m_outerRe gion.Right - 1 + POINTER_WIDTH, y - (POINTER_HEIGHT / 2)), new Point(m_outerRe gion.Right, y), new Point(m_outerRe gion.Right - 1 + POINTER_WIDTH, y + (POINTER_HEIGHT/2))};
g.DrawPolygon( Pens.Black, points );

}

/// <summary>
/// Determines the color slider left triangle pointer invalidation /// region.
/// </summary>
/// <param name="arrowY">C urrent cursor y-value.</param>
/// <returns>A rectangle object representing the area to be /// invalidated.</returns>
private Rectangle GetLeftTriangle PointerInvalida tionRegion(int arrowY) {
int leftPadding = POINTER_WIDTH + 2;
int x = m_outerRegion.L eft - leftPadding; int y = arrowY - ( POINTER_HEIGHT / 2 ) - 1; int width = POINTER_WIDTH + 2;
int height = POINTER_HEIGHT + 3;

return new Rectangle(x, y, width, height);
} /* End of GetLeftTriangle PointerInvalida tionRegion(int) */
/// <summary>
/// Determines the color slider right triangle pointer invalidation /// region.
/// </summary>
/// <param name="arrowY">C urrent cursor y-value</param>
/// <returns>A rectangle object representing the area to be /// invalidated.</returns>

private Rectangle GetRightTriangl ePointerInvalid ationRegion( int arrowY ) {
int x = m_outerRegion.R ight;
int y = arrowY - ( POINTER_HEIGHT / 2 ) - 1; int width = POINTER_WIDTH + 2;
int height = POINTER_HEIGHT + 3;

return new Rectangle( x, y, width, height );
} /* End of GetRightTriangl ePointerInvalid ationRegion(int ) */

private void CheckCursorYReg ion( int y )
{
int mValue = y;

if ( m_isLeftMouseBu ttonDown && !m_isLeftMouseB uttonDownAndMov ing ) {
if ( y < m_colorRegion.T op || y > m_colorRegion.B ottom ) return;
}
else if ( m_isLeftMouseBu ttonDownAndMovi ng )
{
if ( y < m_colorRegion.T op )
mValue = m_colorRegion.T op;
else if ( y >= m_colorRegion.B ottom )
mValue = m_colorRegion.B ottom - 1;

}
else
return;

m_currentArrowY Location = mValue;

InvalidateArrow Regions( mValue );
if ( ValueChanged != null )
ValueChanged(th is, new ValueChangedEve ntArgs(255 - (mValue - m_colorRegion.T op)));
} /* End of CheckCursorYReg ion(int) */

private void InvalidateArrow Regions(int y)
{
this.Invalidate ( m_leftArrowRegi on );
this.Invalidate ( m_rightArrowReg ion );

m_leftArrowRegi on = this.GetLeftTri anglePointerInv alidationRegion ( y ); m_rightArrowReg ion = this.GetRightTr ianglePointerIn validationRegio n( y );
this.Invalidate (m_leftArrowReg ion);
this.Invalidate (m_rightArrowRe gion);

} /* End of InvalidateArrow Regions(int) */

} /* End of public class ColorSlider */


} /* End of namespace NewControls

Nov 17 '05 #4

I just deleted all my manual coding and tried it again.this time it worked. I have no idea why it didn't work yesterday.
I tried it quite a few times.

Thanks for your help.

Steve

On Tue, 22 Mar 2005 08:26:27 -0500, "Tim Wilson" <TIM(UNDERSCORE )WILSON(AT)ROGE RS(PERIOD)COM> wrote:
I included the following line to get the code to compile:
using System.Componen tModel;

I then added the UserControl to the ToolBox by right-clicking the ToolBox,
choosing the "Add/Remove Items..." option, and locating the assembly.

When I drag and drop the control onto the Form it shows up fine and
generates the proper code in the InitializeCompo nent() method. So it seems
to work ok at my end.

Nov 17 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
1981
by: John Smith | last post by:
If i derive from UserControl my Control apears in the toolbox. But I want to extend existing Controls like Button , treecontrol . I found some hints which attributes to set but i didnt succeed till now .. public class ArrowButton : Button
2
6806
by: Chien Lau | last post by:
I frequently define internal UserControl-derived classes in my WinForms apps: internal class MyUserControl:UserControl{ ... } I'll often need to embed these controls in a Form, whose class is contained in the same assembly as the control. As far as I know, the only way to do this using the designer is to add the UserControl-derived object
3
3066
by: BluDog | last post by:
Hi I have a component that inherits from TreeView, my project is a standard exe. How do i get the component into the toolbox for use within the project? I find that only controls based on UserControl apear there automatically, therefore if i set the component to inherit from UserControl it will appear, then i change it back to inherit from TreeView, although it stays, as soon as i close the solition, the next
2
5961
by: Noozer | last post by:
This is a stupid question, I know, but I can't figure it out... Someone please embarass me. I have a solution that has a number of usercontrols included. When I add a usercontrol project to the solution the control does not automatically appear in the "My User Controls" toobox. I'm going to the FILE menu and choosing "Add Project -> Add Existing Project" Eventually, after several builds, etc. the control appears in the toolbox,
10
1537
by: Nak | last post by:
Hi there, I'm having problems with the Toolbox in VB.NET 2002 Standard. I have 2 class libraries, 1 contains licensing classes and references nothing but standard namespaces and the other references my first library in order to protect the exposed components. To make things easier I'll refer to my licensing library as licensinglibrary.dll and my control library as controllibrary.dll. When I try to add mycontrollibrary to the toolbox...
3
2103
by: b747_440 | last post by:
Dear Newsgroup, I'm an old VB6.0 developper who switched some time ago to VB.NET 2005. I really like that new Visual Studio. However, something is going wrong now and I can't figure out, what it is... I was playing around with UserControls which are inherited from standard .NET controls to make myself some transparent controls. Suddenly I realized that after bulding my project those UserControls do not appear in the Toolbox anymore. I had...
2
7405
by: sklett | last post by:
I'm trying to add an assembly that has a couple UserControls (among other things) to the toolbar. When I browse to it, I get a message that it's can't find an assembly that it needs (ObjectBuilder) - I know my assembly uses ObjectBuilder, but I don't know what I need to do VS2005 to find it? Do I need to add it to GAC? I hope not. I seem to recall being able to drag a user control from the solution explorer onto a form, but this...
4
2152
by: Jules Winfield | last post by:
I'm using VS2005. I have a solution consisting of twelve projects. All projects are console/service apps except for one which is a WinForms app. There are no web projects. I'd say that I'm at around 125k-150k lines of code in total. My development machine has 2gigs of physical RAM, a hyperthreaded CPU running at 3.6ghz, and plenty of harddrive space on a recently defragged drive. The only installed apps are VS2005 and SQL Server 2005....
0
899
by: =?Utf-8?B?TWFyayBDb2xsYXJk?= | last post by:
I've developed VS 2003 usercontrol and I've also created a Setup project for it. I did a search on the internet and found some code to create a .NET 1.1 application to add the usercontrol into a tab in the VS 2003 ToolBox. The only problem is I can't get it to add the usercontrol into the VS 2005 ToolBox. Is it possible to write a VS 2003 C# Console app to add a .NET 1.1 usercontrol into the VS 2005 Toolbox? If so, can you please show me...
0
9454
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,...
0
10264
Oralloy
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...
0
10106
jinu1996
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...
1
10039
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,...
0
9914
tracyyun
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...
1
7463
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5484
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3610
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2852
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.