473,761 Members | 8,463 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

GDI¡¢OnPaint¡¢A utoScroll


I draw a grid on a panel.And panel1' property AutoScroll is set true.When
HScroollBar is Scroolling,the grid is error.
I have rewritten the mathod of WndProc.But the effect is unexpected.
How can i do? Thx a lot.
Main codes go here:
class frm
private MyApp.Panel panel1;
this.panel1.Pai nt += new
System.Windows. Forms.PaintEven tHandler(this.O nPaint);

private void OnPaint(object sender, System.Windows. Forms.PaintEven tArgs e)
{

Graphics grPaint = e.Graphics;

grPaint.Flush(S ystem.Drawing.D rawing2D.FlushI ntention.Sync);

SolidBrush brushWhite = new SolidBrush(Colo r.White);
Pen blackpen = new Pen(Color.Black ,2);

// Clear the screen
grPaint.FillRec tangle(brushWhi te, e.ClipRectangle );

// Draw the grid
grPaint.DrawStr ing("testsdsdsa dssadadafsewr3w qr32r", new
Font("Arial",12 ), new SolidBrush(Colo r.Black),_RECTS IZE_,10);
grPaint.DrawStr ing("testsdsdsa dssadadafsewr3w qr32r", new
Font("Arial",12 ), new SolidBrush(Colo r.Black),_RECTS IZE_,30);

for(int i=0;i<iCols;i++ )
{
for(int j=0;j<iRows;j++ )
{
grPaint.DrawRec tangle(blackpen , 5 * _RECTSIZE_ + (i* _RECTSIZE_), 3 *
_RECTSIZE_ + (j*_RECTSIZE_), _RECTSIZE_,_REC TSIZE_);
}
}
brushWhite.Disp ose();
blackpen.Dispos e();
}
class Panel :System.Windows .Forms.Panel
{

[System.Security .Permissions.Pe rmissionSet(Sys tem.Security.Pe rmissions.Secur
ityAction.Deman d, Name="FullTrust ")]
protected override void WndProc(ref Message m)
{
if(m.Msg == 0x0114)
{
Invalidate();
}
else if(m.Msg == 0x0115)
{
Invalidate();
}
else if(m.Msg == 0x020A)
{
Invalidate();
}
else
{

}
base.WndProc(re f m);
}
}

Nov 15 '05 #1
12 4415
I think you will want to handle the panel1.autoscro llposition in your
OnPaint code to find out where upper left of the grid will start. Beware
that the position will be negative as you move the panel "to the right and
upwards" when scrolling left and down.

I'm not sure what you try to do with WndProc, but if it is scrolling with
keys, you can do that much easier by using the forms OnKeyDown event and
use panel1.AutoScro llPosition = // new position or +/-= increment (beware
of boundaries errors)

--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Nov 15 '05 #2

Thank Morten Wennevik.
I'm a beginner for .net.
I rewirte OnKeyDown method,but it doen't work. My code goes here:

public int iX = 0 ,iY = 0 ;
protected override void OnKeyDown(KeyEv entArgs e)
{
iX = this.AutoScroll Position.X;
iY = this.AutoScroll Position.Y;
base.OnKeyDown( e);
MessageBox.Show (iX.ToString()) ;
}
Nov 15 '05 #3
What are you trying to accomplish?

If you want the arrow keys to scroll you can use something like this

protected override void OnKeyDown(KeyEv entArgs e)
{
// xStep and yStep is the amount to scroll left-right/up-down each time
the key is hit
int xStep = 10;
int yStep = 10;
// Check all keys pressed
// The AutoScrollPosit ion is actually negative or 0, but when you set the
autoscrollposit ion
// it has to be positive, so we set // AutoScrollPosit ion = new Point(-
AutoScrollPosit ion.X, -AutoScrollPosit ion.Y);
switch(e.KeyCod e)
{
case Keys.Right:
AutoScrollPosit ion = new Point(-AutoScrollPosit ion.X + xStep, -
AutoScrollPosit ion.Y);
break;
case Keys.Left:
AutoScrollPosit ion = new Point(-AutoScrollPosit ion.X - xStep, -
AutoScrollPosit ion.Y);
break;
case Keys.Up:
AutoScrollPosit ion = new Point(-AutoScrollPosit ion.X, -
AutoScrollPosit ion.Y - yStep);
break;
case Keys.Down:
AutoScrollPosit ion = new Point(-AutoScrollPosit ion.X, -
AutoScrollPosit ion.Y + yStep);
break;
default:
break;
}
// You can use a label control to show the current autoscrollposit ion.
// Set top and left position each time you scroll or the label will move
with the window
label1.Top = 0;
label1.Left = 0;
label1.Text = AutoScrollPosit ion.ToString();
}
--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Nov 15 '05 #4

I'm sorry .I found that this method -- OnKeyDown was never called.
I just want to draw something and make it correct whenever.
Thx.

class Panel :System.Windows .Forms.Panel
{

[System.Security .Permissions.Pe rmissionSet(Sys tem.Security.Pe rmissions.Secur
ityAction.Deman d, Name="FullTrust ")]

protected override void OnKeyDown(KeyEv entArgs e)
{
// xStep and yStep is the amount to scroll left-right/up-down each time
the key is hit
int xStep = 10;
int yStep = 10;
// Check all keys pressed
// The AutoScrollPosit ion is actually negative or 0, but when you set the
autoscrollposit ion
// it has to be positive, so we set // AutoScrollPosit ion = new Point(-
AutoScrollPosit ion.X, -AutoScrollPosit ion.Y);
switch(e.KeyCod e)
{
case Keys.Right:
AutoScrollPosit ion = new Point(-AutoScrollPosit ion.X + xStep, -
AutoScrollPosit ion.Y);
break;
case Keys.Left:
AutoScrollPosit ion = new Point(-AutoScrollPosit ion.X - xStep, -
AutoScrollPosit ion.Y);
break;
case Keys.Up:
AutoScrollPosit ion = new Point(-AutoScrollPosit ion.X, -
AutoScrollPosit ion.Y - yStep);
break;
case Keys.Down:
AutoScrollPosit ion = new Point(-AutoScrollPosit ion.X, -
AutoScrollPosit ion.Y + yStep);
break;
default:
break;
}
}

class frmTest
{
this.panel1 = new MyApp.Panel();
}
Nov 15 '05 #5
OnKeyDown is called whenever you hit a key (arrow keys in the example);

You also need to redraw OnPaint

protected override void OnPaint(PaintEv entArgs e)
{
}

I forgot if setting scrollposition calls OnPaint or not, if not you will
want to Invalidate() or Invalidate(rect ) at the end of OnKeyDown if you
change scroll position. Scrolling with mouse cursor or wheel will call
OnPaint.

Paint procedures where scrolling is involved can get tricky.
Remember the autoscroll coordinates are negative. You might want to do a
search on the web for examples.
__________ |-x,-y |
| |
|Window |
| Form |
| _______|
| |0,0 |
| | Screen|
|__|_______|
--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Nov 15 '05 #6
All code goes here .

using System;
using System.Drawing;
using System.Collecti ons;
using System.Componen tModel;
using System.Windows. Forms;
using System.Data;

namespace Sample
{
/// <summary>
/// Form1 µÄժҪ˵Ã÷¡£
/// </summary>
public class frmDemo : System.Windows. Forms.Form
{
private System.Windows. Forms.Panel panel1;
private System.Componen tModel.IContain er components;
private int iCols = 10 ,iRows = 6;
private System.Windows. Forms.ImageList imageList1;
private System.Windows. Forms.Label label1;
const int _RECTSIZE_ = 30;
public frmDemo()
{
//
// Windows ´°ÌåÉè¼ÆÆ÷Ö§³ÖË ù±ØÐèµÄ
//
InitializeCompo nent();

//
// TODO: ÔÚ InitializeCompo nent µ÷ÓúóÌí¼ÓÈκι ¹Ô캯Êý´úÂë
//
}

/// <summary>
/// ÇåÀíËùÓÐÕýÔÚÊ¹Ó ÃµÄ×ÊÔ´¡£
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Disp ose();
}
}
base.Dispose( disposing );
}

#region Windows ´°ÌåÉè¼ÆÆ÷Éú³Éµ Ä´úÂë
/// <summary>
/// Éè¼ÆÆ÷Ö§³ÖËùÐèµ Ä·½·¨ - ²»ÒªÊ¹ÓôúÂë±à¼ *Æ÷ÐÞ¸Ä
/// ´Ë·½·¨µÄÄÚÈÝ¡£
/// </summary>
private void InitializeCompo nent()
{
this.components = new System.Componen tModel.Containe r();
this.panel1 = new System.Windows. Forms.Panel();
this.imageList1 = new System.Windows. Forms.ImageList (this.component s);
this.label1 = new System.Windows. Forms.Label();
this.panel1.Sus pendLayout();
this.SuspendLay out();
//
// panel1
//
this.panel1.Aut oScroll = true;
this.panel1.Con trols.Add(this. label1);
this.panel1.Loc ation = new System.Drawing. Point(0, 0);
this.panel1.Nam e = "panel1";
this.panel1.Siz e = new System.Drawing. Size(344, 328);
this.panel1.Tab Index = 0;
this.panel1.Pai nt += new
System.Windows. Forms.PaintEven tHandler(this.p anel1_OnPaint);
//
// imageList1
//
this.imageList1 .ImageSize = new System.Drawing. Size(16, 16);
this.imageList1 .TransparentCol or = System.Drawing. Color.Transpare nt;
//
// label1
//
this.label1.Loc ation = new System.Drawing. Point(256, 304);
this.label1.Nam e = "label1";
this.label1.Tab Index = 0;
this.label1.Tex t = "label1";
//
// frmDemo
//
this.AutoScaleB aseSize = new System.Drawing. Size(6, 14);
this.ClientSize = new System.Drawing. Size(376, 349);
this.Controls.A dd(this.panel1) ;
this.Name = "frmDemo";
this.Text = "Draw a grid";
this.Load += new System.EventHan dler(this.frmDe mo_Load);
this.panel1.Res umeLayout(false );
this.ResumeLayo ut(false);

}
#endregion

/// <summary>
/// Ó¦ÓóÌÐòµÄÖ÷Èë¿ Úµã¡£
/// </summary>
[STAThread]
static void Main()
{
Application.Run (new frmDemo());
}
private void panel1_OnPaint( object sender,
System.Windows. Forms.PaintEven tArgs e)
{
Graphics grPaint = e.Graphics;

grPaint.Flush(S ystem.Drawing.D rawing2D.FlushI ntention.Sync);

SolidBrush brushWhite = new SolidBrush(Colo r.White);
Pen blackpen = new Pen(Color.Black ,2);

// Clear the screen
grPaint.FillRec tangle(brushWhi te, e.ClipRectangle );

// Draw the grid
grPaint.DrawStr ing("This is a demo -- draw a grid.And expect that it
works well whenever.", new Font("Arial",12 ), new
SolidBrush(Colo r.Black),_RECTS IZE_,10);

for(int i=0;i<iCols;i++ )
{
for(int j=0;j<iRows;j++ )
{
grPaint.DrawRec tangle(blackpen , 5 * _RECTSIZE_ + (i* _RECTSIZE_), 3 *
_RECTSIZE_ + (j*_RECTSIZE_), _RECTSIZE_,_REC TSIZE_);
}
}
brushWhite.Disp ose();
blackpen.Dispos e();

}

private void frmDemo_Load(ob ject sender, System.EventArg s e)
{

}
}
class Panel :System.Windows .Forms.Panel
{

[System.Security .Permissions.Pe rmissionSet(Sys tem.Security.Pe rmissions.Secur
ityAction.Deman d, Name="FullTrust ")]

protected override void OnKeyDown(KeyEv entArgs e)
{
base.OnKeyDown( e);
MessageBox.Show ("This method is never called.");
}
protected override void WndProc(ref Message m)
{
if(m.Msg == 0x0114)
{
}
else if(m.Msg == 0x0115)
{
}
else if(m.Msg == 0x020A)
{
}
else
{

}
base.WndProc(re f m);
}
}
}
Nov 15 '05 #7
I don't know which event would be triggered when ScrollBar is clicked.
All code goes here . Plz try it.

using System;
using System.Drawing;
using System.Collecti ons;
using System.Componen tModel;
using System.Windows. Forms;
using System.Data;

namespace Sample
{

public class frmDemo : System.Windows. Forms.Form
{
private Sample.Panel panel1;
private System.Componen tModel.IContain er components;
private int iCols = 10 ,iRows = 6;
private System.Windows. Forms.ImageList imageList1;
private System.Windows. Forms.Label label1;
const int _RECTSIZE_ = 30;
public frmDemo()
{

InitializeCompo nent();

}

protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Disp ose();
}
}
base.Dispose( disposing );
}

private void InitializeCompo nent()
{
this.components = new System.Componen tModel.Containe r();
this.panel1 = new Sample.Panel ();
this.imageList1 = new System.Windows. Forms.ImageList (this.component s);
this.label1 = new System.Windows. Forms.Label();
this.panel1.Sus pendLayout();
this.SuspendLay out();
//
// panel1
//
this.panel1.Aut oScroll = true;
this.panel1.Con trols.Add(this. label1);
this.panel1.Loc ation = new System.Drawing. Point(0, 0);
this.panel1.Nam e = "panel1";
this.panel1.Siz e = new System.Drawing. Size(344, 328);
this.panel1.Tab Index = 0;
this.panel1.Pai nt += new
System.Windows. Forms.PaintEven tHandler(this.p anel1_OnPaint);
//
// imageList1
//
this.imageList1 .ImageSize = new System.Drawing. Size(16, 16);
this.imageList1 .TransparentCol or = System.Drawing. Color.Transpare nt;
//
// label1
//
this.label1.Loc ation = new System.Drawing. Point(256, 304);
this.label1.Nam e = "label1";
this.label1.Tab Index = 0;
this.label1.Tex t = "label1";
//
// frmDemo
//
this.AutoScaleB aseSize = new System.Drawing. Size(6, 14);
this.ClientSize = new System.Drawing. Size(376, 349);
this.Controls.A dd(this.panel1) ;
this.Name = "frmDemo";
this.Text = "Draw a grid";
this.Load += new System.EventHan dler(this.frmDe mo_Load);
this.panel1.Res umeLayout(false );
this.ResumeLayo ut(false);

}
#endregion

[STAThread]
static void Main()
{
Application.Run (new frmDemo());
}
private void panel1_OnPaint( object sender,
System.Windows. Forms.PaintEven tArgs e)
{
Graphics grPaint = e.Graphics;

grPaint.Flush(S ystem.Drawing.D rawing2D.FlushI ntention.Sync);

SolidBrush brushWhite = new SolidBrush(Colo r.White);
Pen blackpen = new Pen(Color.Black ,2);

// Clear the screen
grPaint.FillRec tangle(brushWhi te, e.ClipRectangle );

// Draw the grid
grPaint.DrawStr ing("This is a demo -- draw a grid.And expect that it
works well whenever.", new Font("Arial",12 ), new
SolidBrush(Colo r.Black),_RECTS IZE_,10);

for(int i=0;i<iCols;i++ )
{
for(int j=0;j<iRows;j++ )
{
grPaint.DrawRec tangle(blackpen , 5 * _RECTSIZE_ + (i* _RECTSIZE_), 3 *
_RECTSIZE_ + (j*_RECTSIZE_), _RECTSIZE_,_REC TSIZE_);
}
}
brushWhite.Disp ose();
blackpen.Dispos e();

}

private void frmDemo_Load(ob ject sender, System.EventArg s e)
{

}
}
class Panel :System.Windows .Forms.Panel
{

[System.Security .Permissions.Pe rmissionSet(Sys tem.Security.Pe rmissions.Secur
ityAction.Deman d, Name="FullTrust ")]

protected override void OnKeyDown(KeyEv entArgs e)
{
base.OnKeyDown( e);
MessageBox.Show ("This method is never called.");
}
protected override void WndProc(ref Message m)
{
if(m.Msg == 0x0114)
{
}
else if(m.Msg == 0x0115)
{
}
else if(m.Msg == 0x020A)
{
}
else
{

}
base.WndProc(re f m);
}
}
}

Nov 15 '05 #8
Well, I can see one problem with it. You aren't changing the start
position of the drawing. You can see this by scrolling, then cover the
window with another window and move the other window away, the text and
grid will always be in the same spot starting at window coordinate
_RECTSIZE_ * 1, 3 or 5.

I've made a few ints indicating start of the x-and y-coordinate of the
string and the grid.

int stringX = _RECTSIZE_ + panel1.AutoScro llPosition.X;
int stringY = 10 + panel1.AutoScro llPosition.Y;
grPaint.DrawStr ing("This is a demo -- draw a grid.And expect that it works
well whenever.", new Font("Arial",12 ), new SolidBrush(Colo r.Black),
stringX, stringY);

and

int startX = 5*_RECTSIZE_ + panel1.AutoScro llPosition.X;
int startY = 3*_RECTSIZE_ + panel1.AutoScro llPosition.Y;
for(int i=0;i<iCols;i++ )
{
for(int j=0;j<iRows;j++ )
{
grPaint.DrawRec tangle(blackpen , startX + i*_RECTSIZE_, startY +
j*_RECTSIZE_, _RECTSIZE_, _RECTSIZE_);
}
}
And here is the entire code for it
using System;
using System.Drawing;
using System.Collecti ons;
using System.Componen tModel;
using System.Windows. Forms;
using System.Data;
namespace Sample
{
public class frmDemo : System.Windows. Forms.Form
{
private Sample.Panel panel1;
private System.Componen tModel.IContain er components;
private int iCols = 10 ,iRows = 6;
private System.Windows. Forms.ImageList imageList1;
private System.Windows. Forms.Label label1;
const int _RECTSIZE_ = 30;
public frmDemo()
{
InitializeCompo nent();
}
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Disp ose();
}
}
base.Dispose( disposing );
}

#region Initialize components
private void InitializeCompo nent()
{
this.components = new System.Componen tModel.Containe r();
this.panel1 = new Sample.Panel ();
this.imageList1 = new System.Windows. Forms.ImageList (this.component s);
this.label1 = new System.Windows. Forms.Label();
this.panel1.Sus pendLayout();
this.SuspendLay out();
//
// panel1
//
this.panel1.Aut oScroll = true;
this.panel1.Con trols.Add(this. label1);
this.panel1.Loc ation = new System.Drawing. Point(0, 0);
this.panel1.Nam e = "panel1";
this.panel1.Siz e = new System.Drawing. Size(344, 328);
this.panel1.Tab Index = 0;
this.panel1.Pai nt += new
System.Windows. Forms.PaintEven tHandler(this.p anel1_OnPaint);
//
// imageList1
//
this.imageList1 .ImageSize = new System.Drawing. Size(16, 16);
this.imageList1 .TransparentCol or = System.Drawing. Color.Transpare nt;
//
// label1
//
this.label1.Loc ation = new System.Drawing. Point(256, 304);
this.label1.Nam e = "label1";
this.label1.Tab Index = 0;
this.label1.Tex t = "label1";
//
// frmDemo
//
this.AutoScaleB aseSize = new System.Drawing. Size(6, 14);
this.ClientSize = new System.Drawing. Size(376, 349);
this.Controls.A dd(this.panel1) ;
this.Name = "frmDemo";
this.Text = "Draw a grid";
this.Load += new System.EventHan dler(this.frmDe mo_Load);
this.panel1.Res umeLayout(false );
this.ResumeLayo ut(false);
}
#endregion
[STAThread]
static void Main()
{
Application.Run (new frmDemo());
}

private void panel1_OnPaint( object sender,
System.Windows. Forms.PaintEven tArgs e)
{

Graphics grPaint = e.Graphics;
grPaint.Flush(S ystem.Drawing.D rawing2D.FlushI ntention.Sync);
SolidBrush brushWhite = new SolidBrush(Colo r.White);
Pen blackpen = new Pen(Color.Black ,2);
// Clear the screen
grPaint.FillRec tangle(brushWhi te, e.ClipRectangle );
// Draw the grid
// You need to adjust top left by adding the negative autoscrollposit ion
int stringX = _RECTSIZE_ + panel1.AutoScro llPosition.X;
int stringY = 10 + panel1.AutoScro llPosition.Y;
grPaint.DrawStr ing("This is a demo -- draw a grid.And expect that it
works well whenever.", new Font("Arial",12 ), new SolidBrush(Colo r.Black),
stringX, stringY);
// Same with this, the starting point of the grid will change when you
scroll and can't be a fixed number.
int startX = 5*_RECTSIZE_ + panel1.AutoScro llPosition.X;
int startY = 3*_RECTSIZE_ + panel1.AutoScro llPosition.Y;
for(int i=0;i<iCols;i++ )
{
for(int j=0;j<iRows;j++ )
{
grPaint.DrawRec tangle(blackpen , startX + i*_RECTSIZE_, startY +
j*_RECTSIZE_, _RECTSIZE_, _RECTSIZE_);
}
}
brushWhite.Disp ose();
blackpen.Dispos e();
}
private void frmDemo_Load(ob ject sender, System.EventArg s e)
{
}
}
class Panel :System.Windows .Forms.Panel
{

[System.Security .Permissions.Pe rmissionSet(Sys tem.Security.Pe rmissions.Secur ityAction.Deman d,
Name="FullTrust ")]
protected override void OnKeyDown(KeyEv entArgs e)
{
base.OnKeyDown( e);
MessageBox.Show ("This method is never called.");
}
protected override void WndProc(ref Message m)
{
if(m.Msg == 0x0114)
{
}
else if(m.Msg == 0x0115)
{
}
else if(m.Msg == 0x020A)
{
}
else
{
}
base.WndProc(re f m);
}
}
}

--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Nov 15 '05 #9
Thx a lot.The problem is solved.
Thank you for your kind answer.

Thank you anyway.

:)

Nov 15 '05 #10

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

Similar topics

2
8570
by: Alberto | last post by:
I have an image loaded in a panel and I was trying to make a zoom on it. I still doesn't know how to do it but I was trying to access to the image loaded in the panel. Could you help me? Thank you.
17
8539
by: SamSpade | last post by:
picDocument is a picturebox When I do picDocument.Invalidate() the box paints. But if instead I do picDocument.Refresh() the box does not paint. What does Refresh do. I guessed it did an Invalidate and an Update. Can someone shed some light?
7
1729
by: =?Utf-8?B?U2ltb24gVGFtbWFu?= | last post by:
I was trying to double buffer a control while drawing on CE devices. The code below is compiled under the compact framework but you can also run it on the desktop and it produces the same problem. The basic problem is that my controls don't seem to correctly process an invalidate call after a window is dropped on top on them, mainly the "cheat" windows such as a combobox drop down or a loading symbol or volume control (which you get in...
7
3560
by: raylopez99 | last post by:
I have a logical drawing space much bigger than the viewport (the screen) and I'd like to center the viewport (the screen) to be at the center of the logical drawing space. After following the excellent transforms specified on Bob Powell's site, I still wonder if there's an easier way of centering it than the following procedure? Here is what I do now (it's awkward but it works): 1) I follow the transforms specified on Bob Powell's...
0
9522
marktang
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...
0
10111
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
9948
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...
0
9765
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
7327
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
6603
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5215
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...
1
3866
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
3
3446
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.