|
This is what I'm using and still it doesn't work.
<br />
internal class ResourceFinder<br />
{<br />
<br />
}<br />
namespace MyComponents.Windows.Controls<br />
{<br />
[ToolboxItem(true), ToolboxBitmap(typeof(ResourceFinder), "System.Windows.Forms.ProgressBar.bmp")]<br />
public class ProgressBar:System.Windows.Forms.Control<br />
In the same solution there is the GUI in another project. O compile the control and VS2005 populates automatically the Toolbar. But the icon is wrong.
|
|
|
|
|
Let's say that ResourceFinder is in the namespace MyDllNameSpace.Images, the default namespace of your assembly (see Assembly properties) is MyDllNameSpace, the bmp should be into Images subfolder (so that ResourceFinder namespace is equal to default namespace + bmp folder):
ToolboxBitmap(typeof(ResourceFinder), "ProgressBar.bmp")]
|
|
|
|
|
i am having a problem with a listview control not showing the color correctly. What is happening is when a form is closed over the listView control the font and color don't show properly. Its kinda hard to explain but Here[^] is a link to a pic of what is happening. The main form that the listview control is on does have the double buffer property set to true. I don't know of any other way to fix it. Any suggestions? thanks in advance
Don't be overcome by evil, but overcome evil with good
|
|
|
|
|
Create a web service project, or create a web project and create a web service in it.
---
Year happy = new Year(2007);
|
|
|
|
|
I can not create new forms.What reaons could be ?It gives errors like these.
"
at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
at Microsoft.Win32.RegistryKey.GetValueNames()
at Microsoft.VisualStudio.Shell.Design.WindowPaneProviderService.AppendWindowPanes(RegistryKey parentKey, ArrayList windowPanes)
at Microsoft.VisualStudio.Shell.Design.WindowPaneProviderService.GetRegisteredPanes(String extension)
at Microsoft.VisualStudio.Shell.Design.WindowPaneProviderService.CreateWindowPane(DesignSurface surface)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.DeferrableWindowPaneProviderService.CreateWindowPane(DesignSurface surface)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.DeferrableWindowPaneProviderService.DeferredWindowPane.EnsurePane()
"
Thank you.
|
|
|
|
|
it would be better if you put here some code..
life is study!!!
|
|
|
|
|
hi all,
i have a multithread program that is used to parse certain xml file and then insert it into database and delete. the xml files comes continuously so i have a timer on every instance of which i check the directory so for each file in a directory i create a theread.
it all works fine as long a i get file of size 1kb but if the file gets larger then it takes time to inset intodatabse and hence to delete it so in another instance of time interval the same file gets repeated. the file can be of larger size up to 5mb now if i disable timer and then process it every things work fine but then other small file also gets stoped as larger files is being processed.
now what shall i do so that i may not have to disable timer and file doesnt get repeted.
public void CallOnCreated()
{
DirectoryInfo dirInfo = new DirectoryInfo(@"C:/datahandler1");
fInfo = dirInfo.GetFiles("*.xml");
threads= new Thread[fInfo.Length];
sFileNames=new string[fInfo.Length];
if(fInfo.Length!=0)
{
for(int i=0;i
|
|
|
|
|
you could rename the files to NewGuid() +".xml" and then act on them. If you control the code that puts them there add some uniqueness to the filename so that things don't get overwritten.
you could also load them into a queue such as MSMQ and act on them later.
HTH
Russ
|
|
|
|
|
It is very simple. First of all, use try catch finally block to handle exceptions. This is important if you want to use the solution suggested by me.
In the CallOnCreated function, stop the timer at first in the try block. Then your current code will be there. Then in finally block start the timer again. this is as simple as it sounds.
Now your code will look like this --
public void CallOnCreated()
{
try
{
<code>Timer1.Stop();</code>
DirectoryInfo dirInfo = new DirectoryInfo(@"C:/datahandler1");
fInfo = dirInfo.GetFiles("*.xml");
threads= new Thread[fInfo.Length];
sFileNames=new string[fInfo.Length];
if(fInfo.Length!=0)
{
for(int i=0;i
{
if(pics.BinarySearch(fInfo[i].FullName)<0)
{
pics.Add(fInfo[i].FullName);
}
}
foreach(string file in pics)
{
Console.WriteLine(file.ToString());
myFile myf= new myFile(file);
if(myf.isUsed())
{
continue;
}
try
{
clsCall objcall= new clsCall(file);
threads[i]= new Thread(new ThreadStart(objcall.getCallClass));
threads[i].Name="thread is " + sFileNames[i];
threads[i].Start();
}
catch
{
}
finally
{
<code>Timer1.Start();</code>
}
}
"A good programmer is someone who looks both ways before crossing a one-way street." -- Doug Linder
coolestCoder
|
|
|
|
|
I have a function which recursively reads the file names of all the MP3 files on a drive into a text array. The function works well as long as there is less than 16,000 files. On a drive containing 19,700 files the array stops being built at around 16,900 files. I have run the program on several machines with varied amount of ram and the array always stops at about 16,900. Is there some limitation on the size of an array in C# of which I am unaware.
|
|
|
|
|
Nope - I just ran the following test against an array list.
ArrayList list = new ArrayList();
for (int i = 0; i< 19000; i++)
{
list.Add(i);
}
Console.WriteLine("{0}", list.Count);
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
Could it be the the length of the string being stored is a factor?
|
|
|
|
|
I wouldn't have thought so. I changed the test to this:
<code lang="c#">string item = @"c:\documents and settings\MyDocuments\ReallyLongstring\" +
"This is a very long path\This is a really long path\" +
"It couldn't get any longer\*.mp3";
ArrayList list = new ArrayList();
for (int i = 0; i < 19000; i++)
{
list.Add(item);
}
Console.WriteLine(list.Count);</code>
and it still works.
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
Yeah! I tried something similar with a string of 250 chars and it worked with no problem. Im at a loss to what's happening in the program.
|
|
|
|
|
This is the function that is writing the array. It writes to a file the complete list but aborts at 16900 when writing to an array.
void DirSearch(string sDir)
{
try
{
foreach (string d in Directory.GetDirectories(sDir))
{
foreach (string f in Directory.GetFiles(d, "*.mp3"))
{
listBox1.Items.Add(f);
arrText.Add(f);
}
DirSearch(d);
}
}
catch (System.Exception excpt)
{
Console.WriteLine(excpt.Message);
}
}
By the way how do you get your code snippets to appear as they do in your messages?
I am an old timer that started with Cobol and a lot of this is new to me.
|
|
|
|
|
I'll have a quick try with this. I got the code snippets to appear the way that they do by using the pre and code tags around them. If you look at the formatting section below the signature, you will see it. If you highlight your code and click those tags you end up with something like this:
<pre><code>
public void MyCode()
</code></pre>
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
|
You don't need to nest tags like that. <Pre> does the code coloring as well as the block layout. The <code> tag is intended for inserting a big of code in the middle of a sentence.
--
Rules of thumb should not be taken for the whole hand.
|
|
|
|
|
electriac wrote: listBox1.Items.Add(f);
I can almost guarantee you this is the offending line, trying to add a huge number of items to a list box (or any UI element for that matter) will slow down to an almost stop. There is no absolute number where this will happen but a listbox slows down more and more as you ad items.
UI controls have a method SuspendLayout and ResumeLayout that will help with this problem, but you should really consider your UI design & useability if you are adding that many items to a listbox.
|
|
|
|
|
I have removed this from the directory search and built the listBox from the array after the array has been built and it seems to make no difference.
|
|
|
|
|
Did you actually read my post?
|
|
|
|
|
You put your finger on the problem
TNX
|
|
|
|
|
I want to thank those that made suggestions on my problem. It seems that J4amie put his finger on the problem where I populated the list box while building the array. I have removed the listBox1.Items.Add from the directory search and all the files are in the array. I have also built an array of 40,000 files of 250 chars and put the array in a list box just to test an extreme example and it worked without problem. Again many thanks from an old guy that started with punch cards and vacume tubes.
|
|
|
|
|
Well - this works for me:
private void button1_Click(object sender, System.EventArgs e)
{
DirSearch(@"c:\");
MessageBox.Show(icount.ToString());
}
private ArrayList arrText = new ArrayList();
private int icount = 0;
private void DirSearch(string dir)
{
if (++icount >= 19000)
return;
foreach (string d in Directory.GetDirectories(dir))
{
foreach (string f in Directory.GetFiles(d, "*.*"))
{
listBox1.Items.Add(f);
arrText.Add(f);
if (++icount >= 19000)
return;
}
DirSearch(d);
}
}
When you run your code, what does it write to the console window when it gets it's exception?
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
Pete many thanks for your instructive detective work. Although you did not find the offending line your methods were very instructive. TNX again.
|
|
|
|