|
System.Threading.Thread.Sleep(1000);
will pause the thread for 1000 milliseconds.
|
|
|
|
|
Thanks that looks like it will work just fine for me..
Thanks Everyone.
|
|
|
|
|
How could i do to copy a file to a shared folder ( that shared folder is on server ) by using Windows service?
when I ran code : File.Copy("c:\\tempFile.txt","\\\\192.168.0.1\\SharedFile\\tempFile.txt",True) in windows application, it worked well. But when i used windows service, that code didn't work.
It seems that shared folder is not found when you use path:"\\\\192.168.0.1\\SharedFile\\tempFile.txt". It seems that Windows Service
will run under another desktop which is different from the logoned
interactive desktop.
So how could i access shared folder by using windows service?
Please give me some advice. Any ideas will be welcomed
|
|
|
|
|
Run the service using a domain account that has the proper permissions on both computers.
|
|
|
|
|
Thanks for your reply.
Yes, i have permission on both computers. I run following code :
<br />
'Domain account<br />
String user = "UserName";<br />
String p = "PassWord";<br />
SecureString pass = new SecureString();<br />
<br />
'Create pass<br />
for(i=0; i< p.Length; i++)<br />
pass.AppendChar(p[i]);<br />
<br />
'Copy file<br />
Process.start("cmd","/c copy c:\\temp.txt \\\\ServerName\\SharedFolder",user,pass, "DomainName");
That code run well on winform application but when running in windows service, it alerts "Access denies". It means it couldn't find the correct path to SharedFolder when using windows service.
So please tell me what correct path to access that SharedFolder by using Windows Service?
-- modified at 9:57 Sunday 26th November, 2006
|
|
|
|
|
You need to install your service itself under a domain user account. This is done in the ServiceProcessInstaller, search for something like:
this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.User;<br />
this.serviceProcessInstaller1.Username = "abcd@mydomain.com";<br />
this.serviceProcessInstaller1.Password = "mypassword";
This would already be the working version. You probably have a ServiceAccount.System or something else. And null values as username and password.
Try it this way.
|
|
|
|
|
Is it possible to utilize a clientRectangle and to assign the background image to that client rectangle outside of a paint event handler? When there is a control and a background image is assigned like this:
Control ctrl = ((Control)sender);
ctrl.BackgroundImage = (path to an image file);
then the control either increases or decreases in size, then the background image is distorted or stretched in the process. However, if a control has a clientRectangle positioned on it, the clientRectangle would not be distorted or stretched accordingly. The code would be like so:
public Rectangle clientRectangle;
...
int intWidth = 78, intHeight = 109;
clientRectangle = new Rectangle(0, 0, intWidth, intHeight);
The question is, is it possible to assign a background image to the clientRectangle from the Form Load event handler instead of from a paint event handler.
It is my understanding that the PaintEventArgs from the paint event handler is required to assign the image to the clientRectangle. Is there another way that the image file could be assigned to the client rectangle, although not from the paint event handler but instead from the Form Load event handler? The code would be like so.
p.Graphics.DrawImage(imgFile, clientRectangle);
Would appreciate some input as to how to approach this issue so that the background image is not assigned to the control but instead to the clientRectangle.
-- modified at 17:15 Saturday 25th November, 2006
|
|
|
|
|
Hi
how can I create an array of threads and suspend and resume them without usin monitors?
thanks
|
|
|
|
|
Hi,
please help me if you know how…
Something is bothering me - something that I didn't know how to handle it using Visual C++, therefore I don't know how to do it now with C#.
Description:
I have form with SplitContainer control on it, where on the left side I have TreeView control, and on the right side, I would like (depending on selected item in TreeView ctrl) to have different set of other controls (buttons, editBox,…etc.)
Correct me if I'm wrong – the only easiest way that came up my mind is PANNEL control.
Number of panels should be the same as number of items in the TreeView control.
After on in the application, depending of selected item, I can use method .Hide() or .Show() to manipulate those panels.
Example
For example I have 20 items in TreeView control, therefore I should have 20 different panels.
Furthermore, when I have 20 panels on the same form, and each of them is covering right side of SplitContainer (complete area), the only panel I can see is the latest one (twentieth).
With this „panel“ concept, issue I found here is in the case if I have to change something on the third panel (e.g. to add new checkBox on it) .
How to reach third panel?
Do I have to move 17 panels to one side in order to reach third one (to be visible to work on it)?
I believe that there should be something more elegantly – but I don't know what?
I use SharpDevelop, but if you know that solution for my problem have solution in Visual Studio, please suggest!
Great example will be Computer Management Console. If you click on “Removable Storage” or “Disk Defragmenter” or any other item in TreeView control, depending on it on the right side you will have respectively related set of controls.
Thanks,
Alan
|
|
|
|
|
Change the z-order of the panels as needed; to show the third panel: Panel3.BringToFront();
|
|
|
|
|
Hi
I suggest that you have a user control for each of your panels.This way you can work on them in their own designer.
You can have a rhs panel on your form and while in runtime add the desired user control to this panel(setting its DockStyle to Fill) and remove previously added user control from this panel.
Regrads
|
|
|
|
|
Hi,
please help me if you know how…
Something is bothering me - something that I didn't know how to handle it using Visual C++, therefore I don't know how to do it now with C#.
Description:
I have form with SplitContainer control on it, where on the left side I have TreeView control, and on the right side, I would like (depending on selected item in TreeView ctrl) to have different set of other controls (buttons, editBox,…etc.)
Correct me if I'm wrong – the only easiest way that came up my mind is PANNEL control.
Number of panels should be the same as number of items in the TreeView control.
After on in the application, depending of selected item, I can use method .Hide() or .Show() to manipulate those panels.
Example
For example I have 20 items in TreeView control, therefore I should have 20 different panels.
Furthermore, when I have 20 panels on the same form, and each of them is covering right side of SplitContainer (complete area), the only panel I can see is the latest one (twentieth).
With this „panel“ concept, issue I found here is in the case if I have to change something on the third panel (e.g. to add new checkBox on it) .
How to reach third panel?
Do I have to move 17 panels to one side in order to reach third one (to be visible to work on it)?
I believe that there should be something more elegantly – but I don't know what?
I use SharpDevelop, but if you know that solution for my problem have solution in Visual Studio, please suggest!
Great example will be Computer Management Console. If you click on “Removable Storage” or “Disk Defragmenter” or any other item in TreeView control, depending on it on the right side you will have respectively related set of controls.
Thanks,
Alan
-- modified at 2:01 Sunday 26th November, 2006
|
|
|
|
|
You want to create controls based on the selected treeview item? If so why not create the controls dynamically? That is , based on the value of the selected item, you create the controls and add them to a placeholder.So instead of 20 panels all you need is a placeholder where you add your created controls to.Hope this helps....
|
|
|
|
|
Thank you for idea (better to have something than nothing).
I never did create any control dynamically - It is far easy to create control with some visual tool than to type size, distance between them,.. manually.
From another forum, one developer advice me to use "UserControl".
What do you think of that?
Thank you!
|
|
|
|
|
User controls would essentially be the "best of both worlds". You would create 20 different user controls that represent the different screens you want displayed based on the selected tree node. The benefit here is that you can use the designers and don't have multiple panels stacked on top of each other.
In the right-hand side of the splitter, you would place one panel that will be used to dynamically hold your user controls.
In the AfterSelect event handler of the tree control you will need to do something like this (this is untested code, so it may not be exact):
UserControl userControl;
userControl.Dock = DockStyle.Fill;
userControl.Name = "contentarea";
this.contentPanel.Controls.Add(userControl);
-----------------------------
In just two days, tomorrow will be yesterday.
|
|
|
|
|
You can use Panel, Form, Custom Controls as container for "the right side".
If you can categorize the items on the tree view, you shouldn't have to have 1 panel/form/customcontrol for each treeview node.
There is a .Tag property where you can assign an object to. You can set this property to the object that is tied to the treenode.
I am using Form as a container as an exmaple here. Let's say there are 5 categories of stuff (Class1-Class5)you want to display. when you generate the treeview's node, assign the object to the node:
TreeNode treeSalesOrder = new TreeNode("Class1 Object");
treeSalesOrder.Tag = class1_from_somewhere;
etc etc
So now you have a treeview with node that has tag tied to various objects.
Have 5 forms that display these 5 classes (DisplayClass1-DisplayClass5)
On the AfterSelect event
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node.Tag != null)
{
SetDisplayPanel(e.Node.Tag);
}
else
{
SetDisplayPanel(null);
}
}
private void SetDisplayPanel(object obj)
{
this.panelDisplayOnRightSide.Controls.Clear();
if (obj != null)
{
Form form = null;
if (obj is Class1)
{
form = new DisplayClass1((Class1)obj);
}
else if (obj is Class2)
{
form = new DisplayClass2((Class2)obj);
}
else if (obj is Class3)
{
form = new DisplayClass3((Class3)obj);
}
else if (obj is Class4)
{
form = new DisplayClass4((Class4)obj);
}
else if (obj is Class5)
{
form = new DisplayClass5((Class5)obj);
}
else
{
return;
}
form.ControlBox = false;
form.FormBorderStyle = FormBorderStyle.None;
form.Dock = DockStyle.Fill;
form.MaximizeBox = false;
form.MinimizeBox = false;
form.TopLevel = false;
//form.Object = obj;
panelDisplayOnRightSide.Controls.Add(form);
form.Show();
form.BringToFront();
}
}
Now I only ripped this code from a prototype program. You can add functions that reuse the 5 forms instead of new a new form every time.
|
|
|
|
|
First of all, I just started learning C# and I'm using VS 2005 Express Ed.
I have a small form with a TreeView control in it. I want to pass a root folder to the following function and populate a TreeView control with directories. My problem is that I don't know how to access the parent nodes or child nodes to add the subdirectory under it's parent directory. The following code simply displays all the folders under the first node.
private void FindAllFolders(string sFolder)
{
try
{
foreach (string dir in Directory.GetDirectories(sFolder))
{
string temp = dir.ToString().Substring(rootFolder.Length);
treeView1.Nodes[0].Nodes.Add(new TreeNode(temp, 1, 2));
FindAllFolders(dir);
}
}
catch (Exception e)
{
MessageBox.Show(e.Message.ToString(), "Directory Search Exception Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Thanks,
Mark
|
|
|
|
|
TreeView.Nodes = Gets the collection of tree nodes that are assigned to the tree view control.
TreeView.Nodes[0] = First node in collection.
TreeView.Nodes[0].Nodes = Collection of nodes under first node, i.e the children of the first node.
only two letters away from being an asset
|
|
|
|
|
Ok I understand the collections but if I add an item to the treeview, how do I get a reference to the last node that I inserted?
In VC++/MFC you can get an HTREEITEM returned when you insert an item in a CTreeView.
So when I insert a folder in the TreeView control using C#, and that folder has subfolders I need to then reference that node to insert the subfolder(s) under it.
Mark
|
|
|
|
|
http://msdn2.microsoft.com/en-gb/library/esz34cwb.aspx[^]
Taken directly from the above MSDN link.
TreeNodeCollection.Add Method (String)
Adds a new tree node with the specified label text to the end of the current tree node collection.
public virtual TreeNode Add (
string text
)
Parameters
text
The label text displayed by the TreeNode.
Return Value
A TreeNode that represents the tree node being added to the collection.
only two letters away from being an asset
|
|
|
|
|
I posted a message few weeks ago about me trying to run my exe file on my roomate's laptop, I finally got it to work by taking the crystalreport off the project, so do you guys know if I need to download anything beside the frame work to make my crystal report work on my roomates laptop ???
aPerfectTool
|
|
|
|
|
What is quick method and what is bubble method?
|
|
|
|
|
What are you talking about?
Perhaps sorting... But, please, let us know!
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
yes sorting but how sort bubble method and how sort quick method?
|
|
|
|
|
Google is your friend...even for homework questions. The answer is probably also in your textbook.
|
|
|
|