As you said, the progress bar slows down the copy. The progress bar is CPU intensive while the file copy is most likely IO bound. The progress bar slows the copy when the two operations share the same thread. Copying the file in a separate thread will allow more efficient use of multiple processors; both operations run almost independently.
Also, try copying a file several gigabytes in size and watch your UI lock up.
I tend to reuse code a lot. Code a process right the first time and use it many times.
The main objective is to compress the files into a container, but I want to at least be able to copy files with some type of progress notification at the very least first before I start making an algorithm for compression. Thanks for the source I'll study it and try to make something work.
Sir first of all Great Job and work done from your side.
Sir I want to learn C# at the professional level. I started working on your code (ME). I want to change the code and want to extend it (extend just for learning nothing else). I want to copy the equations directly just by selecting it. Can you please guide me that how can I copy directly my written equations in your ME?
(In step one I want to enable the copy feature and then in step two I want to add a functionality in the export menu to add "Export to Word").
How best can I create a Windows Form Application that regulates temperature and humidity for a green house using C#? I would want the inputs of humidity and temperature to be continuously generated. Please assist.
I have created an application to encrypt selected files with password protection, it will accept files like word and pdf, everything work perfect and i ma finished with its development.
And now i have to add functionality to add an entry to system explorer context menu (right click menu) to have my application icon and menu entry on it. as user select multiple files and right click on them, my application icon and menu entry will appear over then and by selecting that, i need to select all that files to my main application for encryption process.
I have searched over Google and found some solutions but its only show some registry key to enter, but there is nothing to show how to handle all event, how to add icon to menu. i have also found one article over code project but its written in c++, and i need in c#.
So can any body has any idea or example using c#, or any wrapper or helper class to register/unregistered context menu entry for my application etc.
I want to do same as winzip or winrar or notepad++ application add their entry to system context menu with the icon on menu as well.
I have an small issue of adding an XML nodelist to a datagrid. It is as follows:
I have a few code blocks that read in the nodelist from an XML file that I was able to find in several forums starting with this one which I have tweaked to suit. I am grabbing the proper nodelist (ServiceHistory) and all works well unti I try and add custom columns etc.
public static DataTable ConvertXmlNodeListToDataTable(XmlNodeList xnl)
DataTable dt = new DataTable();
string strOpCode, strDescription; //set up error code vars
int TempColumn = 0;
foreach (XmlNode node in xnl.Item(0).ChildNodes)
DataColumn dc = new DataColumn(node.Name, System.Type.GetType("System.String"));
if (node.Name == "Operation") //Need to get the OpCode and Descriptions out
CodesDesc(node.InnerText, out strOpCode, out strDescription);
The CodeDesc void is used to break strings out one of the nodes(<operation>) and into 2 new data columns. I am having trouble figuring out just how to go about adding the columns I want(the OpCode and Description columns) and get the strings from the Operations.Innertext into those.
public static void CodesDesc(string OpsText, out string strOpCode, out string strDescription)
int Lpos = OpsText.IndexOf("*");
int Rpos = OpsText.LastIndexOf("*") +1;
<?xmlversion="1.0"encoding="UTF-8"?><api:replyxmlns:api="http://www.site.com/api"version="1.0"><Session><Replytype="Connection"><ErrorMessage/><ErrorCode>0</ErrorCode></Reply><Replygroup="T1G1"object="ServiceHistory"type="Get"><ServiceHistory><RecordID>XF301274*9929</RecordID><SWR>661</SWR><Operation>BSRS*IBN****REPAIR RIGHT SIDE DAMAGE</Operation><PartsAmount>31.20</PartsAmount><LaborAmount>543.00</LaborAmount></ServiceHistory><ServiceHistory><RecordID>XF301274*9929</RecordID><SWR>661</SWR><Operation>RP*IBN****REFINISH & PAINT DAMAGED AREA</Operation><PartsAmount>0.00</PartsAmount><LaborAmount>351.00</LaborAmount></ServiceHistory><ServiceHistory><RecordID>XF301274*9929</RecordID><SWR>661</SWR><Operation>PM*IPM****PAINT & MATERIAL</Operation><PartsAmount>0.00</PartsAmount><LaborAmount>198.90</LaborAmount></ServiceHistory><ErrorMessage/><ErrorCode>0</ErrorCode></Reply></Session></api:reply>