|
what is the code of cheeckbox in c# windows application and what is the use of chekbox in c#.
|
|
|
|
|
You can find all the code you need in the examples found at MSDN - it's one of the simpler controls to use. A checkbox is used to allow a user to select more than one option from a list of several. This contrasts with a radio button, which allows only a single selection from a group of options. A radiobutton is exclusive, while a checkbox is inclusive of a set of available options.
Will Rogers never met me.
|
|
|
|
|
A checkbox allows a user to toggle between two options (1 or 0, yes or no).
To implement it, you need to start by reading a book on C#. Or you could read through a number of articles on msdn[^].
|
|
|
|
|
Not quite - had you forgotten the ThreeState[^] property?
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
Oops.
|
|
|
|
|
You might want to change your username. If you use your e-mail address, you'll get spammed.
|
|
|
|
|
In C#, how do you output the contents of a Dictionary class?
Once you have loaded a Dictionary class with keys and values, how do I cycle through them and output the individual values in a foreach loop?
|
|
|
|
|
foreach (KeyValuePair<type1, type2> pair in dict)
{
Console.WriteLine("{0}, {1}",
pair.Key,
pair.Value);
}
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Please stand in front of my pistol, smile and wait for the flash - JSOP 2012
|
|
|
|
|
Try this
Dictionary<object, object> dummyDictionary = new Dictionary<object, object>
{
{"India","Delhi"},
{"USA","WashingtonDC"},
{"Bangaladesh","Dhaka"},
{"Pakistan","Karachi"}
};
foreach (KeyValuePair<object, object> kvp in dummyDictionary)
{
Console.WriteLine(string.Format("Key = {0} Value = {1}", kvp.Key, kvp.Value));
}
var result =
(from kvp in dummyDictionary
select new
{
Key = kvp.Key
,
Value = kvp.Value
});
result.ToList().ForEach(kvp => Console.WriteLine(string.Format("Key = {0} Value = {1}", kvp.Key, kvp.Value)));
Console.ReadKey();
Niladri Biswas
(Code Project MVP 2012)
|
|
|
|
|
There is another way as well, which can be more readable.
Assuming Track is one of your classes:
Dictionary<string, Track> dict = new Dictionary<string, Track>();
foreach (Track track in DALFactory.GetAll<Track>())
{
dict.Add(track.TrackName, track);
}
...
foreach (string key in dict.Keys)
{
if (key.StartsWith("A"))
{
Track track = dict[key];
Console.WriteLine(track);
}
}
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
A number of approaches are described here[^].
|
|
|
|
|
Hi all C# gurus I need advice on Deadlock
I have a code structure for Window Service, multithreading, task factory like
public partial class rs : ServiceBase
{
private Queue jobQueue = Queue.Synchronized(new Queue());
private Queue DatafeedQueue = Queue.Synchronized(new Queue());
private Dictionary<...> ScheduleJobs = new Dictionary<...>();
private AutoResetEvent _BlockThreadTaskScheduler = new AutoResetEvent(true);
private AutoResetEvent _BlockThreadDatafeedSourceTaskScheduler = new AutoResetEvent(false);
private LimitedConcurrencyLevelTaskScheduler _TaskScheduler;
private LimitedConcurrencyLevelTaskScheduler _DatafeedSourceTaskScheduler;
public rs()
{
InitializeComponent();
_timer = new System.Timers.Timer(POLL_INTERVAL_MINUTE * 60 * 1000);
_timer.Elapsed += new System.Timers.ElapsedEventHandler(_timer_Elapsed);
_TaskScheduler = new LimitedConcurrencyLevelTaskScheduler(2);
_DatafeedSourceTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(1);
protected void _timer_Elapsed(object sender, ElapsedEventArgs e)
{
try
{
DatafeedQueue.Clear();
try
{
(Execute a stored procedure here)
while(xxx.Read())
{
DatafeedObj dfo = new DatafeedObj();
...
DatafeedQueue.Enqueue(dfo);
}
}
catch()...
TaskFactory DatafeedSourceFactory = new TaskFactory(_DatafeedSourceTaskScheduler);
for (int i = 0; i < DatafeedQueue.Count; i++)
{
DatafeedSourceFactory.StartNew(() => processDatafeedQueue());
}
_BlockThreadDatafeedSourceTaskScheduler.Set();
}
catch()...
}
private void processDatafeedQueue()
{
_BlockThreadDatafeedSourceTaskScheduler.WaitOne();
try
{
lock (DatafeedQueue.SyncRoot)
{
if (DatafeedQueue.Count > 0)
{
DatafeedObj dfo = ((DatafeedObj)(DatafeedQueue.Dequeue()));
#region DataFeed Type A
ScheduleJobs = (Calls a static class, static method);
jobQueue = (Calls a static class, static method turn ScheduleJobs dictionary into Queue);
var factory = new TaskFactory(_TaskScheduler);
for (int i = 0; i < jobQueue.Count; i++)
{
factory.StartNew(() => startTypeA());
}
#endregion
#region DataFeed Type B
ScheduleJobs = (Calls a static class, static method);
jobQueue = (Calls a static class, static method turn ScheduleJobs dictionary into Queue);
var factory = new TaskFactory(_TaskScheduler);
for (int i = 0; i < jobQueue.Count; i++)
{
factory.StartNew(() => startTypeB());
}
#endregion
#region DataFeed Type C
ScheduleJobs = (Calls a static class, static method);
jobQueue = (Calls a static class, static method turn ScheduleJobs dictionary into Queue);
var factory = new TaskFactory(_TaskScheduler);
for (int i = 0; i < jobQueue.Count; i++)
{
factory.StartNew(() => startTypeC());
}
#endregion
}
}
}
if (_TaskScheduler.NumberOfRemainingScheduledTasks == 0)
{
_BlockThreadDatafeedSourceTaskScheduler.Set();
}
}
void startTypeA()
{
(In this method, it creates a object from another project class which calls a WCF Service and select data and insert into local db and run stored procedures)
}
void startTypeB()
{
(Same as startTypeA but calls a different WCF and insert into the same set of tables which startTypeA also insert into then also run a same set of stored procedures)
}
void startTypeC()
{
(Same as startTypeC but calls a different WCF and into different set of tables than startTypeA and startTypeB then run different set of stored procedures)
}
...
I was able to grab all the data from all 3 set of WCF services but the problem is after Type A and Type B insert the data and both calls the same set of stored procedures a few Job Queue had Error 1205, deadlock. Then after service has stopped, I had to manually rerun the stored procedures to process those leftover.
Can anyone know how to fix the deadlock, also I use AutoResetEvent to keep a thread blocked while another thread is processing. It doesn't seem like its doing its job.
I was thinking for alternative way but I would like to keep the same logic, task factory...
My alternative way, non-tested with actual code, but I wrote a draft similar to what I needed, but I am unsure if deadlock will still exists
class Program
{
static SemaphoreSlim _sem = new SemaphoreSlim(3);
static void Main()
{
for (int i = 1; i <= 3; i++)
{
new Thread(RunThisMethod).Start(i);
}
Console.ReadLine();
}
static void RunThisMethod(Object id)
{
Console.WriteLine(id + " wants to enter");
_sem.Wait();
if (id.ToString() == "1")
{
Console.WriteLine("Start Type A");
Thread.Sleep(3000);
Console.WriteLine("End Type A");
}
else if (id.ToString() == "2")
{
Console.WriteLine("Start Type B");
Thread.Sleep(6000);
Console.WriteLine("End Type B");
}
else if (id.ToString() == "3")
{
Console.WriteLine("Start Type C");
Thread.Sleep(9000);
Console.WriteLine("End Type C");
}
_sem.Release();
}
}
|
|
|
|
|
necesito un ejemplo que convierta documentos a formatos de imagen utilizando c# o una manera facil de usar imagemagick
|
|
|
|
|
Did you mean "convierte"? This is an English-speaking site, and you'd greatly enhance the resultset of useable answers by phrasing your query using that language;
I need an example to convert documents to image formats using c # or an easy way to use imagemagick
Did you try Google? The Imagemagick manual?
Which (file)type of documents, and which imageformat specifically? Word to Bitmap? PDF to JPG?
Bastard Programmer from Hell
if you can't read my code, try converting it here[^]
|
|
|
|
|
Eddy Vluggen wrote: Which (file)type of documents, and which imageformat specifically? Word to Bitmap? PDF to JPG?
With the quality of questions we are getting at the moment, I suspect it will be "EXE" to "AVI"...
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
OriginalGriff wrote: "EXE" to "AVI" Sir, do you have codz for that, urgent?
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
I do!
File.Move(...
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
i have a txt Structured file as Ascii. i can read information of that file as structure.
that structure is same as follow:
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
private struct Header
{
public byte version;
public Int32 numRecords;
public Int16 headerLen;
public Int16 recordLen;
public byte encryptionFlag;
public Int64 reserved;
....
}
when writing in file , i need to change one /two field of file e.g numRecords.
how can i write this instance file writing? i tried following code but file destroyed and i couldn't read file
using (OpenFileDialog of=new OpenFileDialog())
{
of.ShowDialog();
FileStream fs = new FileStream(of.FileName,FileMode.Open,FileAccess.ReadWrite);
BinaryWriter bw = new BinaryWriter(fs);
BinaryReader br = new BinaryReader(fs);
byte[] buffer = new byte[Marshal.SizeOf(typeof(Header))];
buffer = br.ReadBytes(Marshal.SizeOf(typeof(Header)));
GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
Header rHeader = ((Header)(Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(Header))));
handle.Free();
Header wHeader = rHeader;
wHeader.numRecords = 5;
IntPtr ptr = Marshal.AllocHGlobal(buffer.Length);
Marshal.StructureToPtr(wHeader, ptr, true);
Marshal.Copy(ptr, buffer, 0, buffer.Length);
Marshal.FreeHGlobal(ptr);
bw.Seek(0, SeekOrigin.Begin);
bw.Write(buffer);
bw.Close();
br.Close();
fs.Close();
}
|
|
|
|
|
|
I have been consuming (looking at) the results I see from a web service that I am going to obtain to call. As part of the process, I started a shell C# 2010 app that will look at the information obtained from the web service. I have been able to obtain the PDF documents by specifying where those files should be located in an app.config file.
However my problem is obtaining the results of an xml and an xsd file. The xml/xsd information is not saved to any file. This information is displayed in a dos prompt window when I run a command script. I have been able to save the output to a text file by doing a redirection statement to write the information to a text file.
However I would like to know how I can capture the xsd/xml file so that I can parse through the information to extract the specific information I am looking for.
Thus, can you tell me and/or point me to a reference that will tell me how to accomplish this task?
|
|
|
|
|
If you're starting the process with Process.Start, you can redirect its stdout to a stream you control. See here[^].
|
|
|
|
|
Thank you!
I have the following addtional questions:
1. How can I save the data in an xml format that I can parse through?
2. How can I parse through the xml data? Would I use something like an xml.exe and/or xsd.exe to create the classes? How would this help me parse through the data?
|
|
|
|
|
You can use XSD to create auto-generated classes from a schema, and then there's some easy way to load a file into a class hierarchy based on that (which I currently forget, sorry about that, it's a while since I did any of that stuff). If you have a fixed schema that's probably the way to go.
You should be able to push the redirected stdout into a MemoryStream, and then use that to create an object tree, without needing to ever create a file.
|
|
|
|
|
I have one additional question.
The information appears in a dos popup window. Can you tell me how to obtain the information from a dos popup window?
|
|
|
|
|
If you're redirecting the standard streams then the console shouldn't appear any more, if it's a normal command line process. The fact that you can > redirect the output suggests it is going to stdout.
Are you using Process.Start to start this process? You need to set UseShellExecute to false (I think that was in the link I posted before) and RedirectStandardOutput, Error and Input to true to make the console disappear, if I remember right.
|
|
|
|