|
Rafone wrote: Has anyone run across a convertor from the frequency of light to windows colors?
I never had until you asked the question, then i did this[^]
|
|
|
|
|
Hi Everyone,
I have a combobox that i need to populate with a datasource from my database. Because i want to make this autocomplete AND have the possibility to enter new things, i have done the following:
Private void LoadAuthors()
{
cmbAuthors.DataSource = Dataset;
cmbAuthors.DisplayMember = "Name";
cmbAuthors.ValueMember = "Id";
cmdAuthors.AutoCompleteCustomSource = AutoCompleteStringCollectionIMadeFromTheDataSet;
cmbAuthors.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
cmbAuthors.AutoCompleteSource = AutoCompleteSource.CustomSource;
}
And all is well in Autocomplete land and datasource land.. however...
to find out if they entered a new name ( and i need to pop up a form to complete extra info), i have a handler for the "leave" event on the combobox:
private void cmbAuthors_Leave(object sender, EventArgs e)
{
if (cmbAuthors.SelectedValue != null)
{
MessageBox.Show("We know the dude...");
}
else
{
MessageBox.Show("Who's that ? better make a new one !");
}
}
now the problem is:
When you leave the combobox, the selectedvalue always is null, i get the "who's that" message, and when i click ok to that THEN the selectedindex event fires on the combobox (and thus only getting the required data to make this check)
Is there any way to make sure the selectedindex event is fired first or manually fire the autocomplete so it will complete BEFORE, it actually fires the leave event ?
Any other intelligent solution i could not think of or have not found on google codeproject is welcome too obviously
Do Or Don't, there is no "try catch ex as exception end try"
|
|
|
|
|
what about trying to replace
if (cmbAuthors.SelectedValue != null)
with
if(cmbAuthors.Items.Contains(cmbAuthors.Text))
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
Hmm.. unfortunately, it does not even recognize that
Strange thing is, if i look at what cmbAuthors.text contains, it is the text i want..
but it does not work. so that got me thinking and i tryed:
cmbAuthors.selectedtext = cmbauthors.text;
But.. helas.. it only uses the actual typed text so for example "mad" if you are looking for madonna :s
I am thinking that autocomplete uses the same event (leave) to do it's autocomplete magic..
When i change the handler to the "onSelectedValueChanged", it does work .. however, that event get's fired multiple times on Runtime (so when binding the datasource for example)... and does not fire when the value you type in is unknown in the dataset/autocomplete
The problem is that i really have to do the check when leaving the combo ...
Do Or Don't, there is no "try catch ex as exception end try"
|
|
|
|
|
For the people that want to know.
Apparently the Leave event is fired before autocomplete can do it's magic however, Putting the handler on the LostFocus event solves the issue. It's just not visibile in the VS2005 UI...
Solved
Do Or Don't, there is no "try catch ex as exception end try"
|
|
|
|
|
I have a toolstrip and added a combobox, i wish to populate that combo box with a list of fonts that will change the font in the textbox or richtextbox.
I have searched everywhere and only found one example but it's code didn't seem to work. I have tried myself but since this is all for learning.
Im using visual c# express.
Any help will be great thanks,
Malcom
Malcom
|
|
|
|
|
If you're looking to get the list of all fonts on the system, then use something like this:
System.Drawing.Text.InstalledFontCollection fonts = new System.Drawing.Text.InstalledFontCollection();
foreach(FontFamily family in families)
{
if(family.IsStyleAvailable(FontStyle.Regular))
{
Font font = new Font(family, 12, FontStyle.Regular);
}
}
That gets every font style and creates a Font object from it. From there it's simple enough to add the Font name to a combo box, and hook the SelectionChanged event to create a font from its name and set the textbox's Font property
|
|
|
|
|
So in visual i create a new class and add that code in. Then i go to combobox and do the rest..?
Sorry, still getting to grips with all of this, when i first started learning i was using smallbasic.
|
|
|
|
|
That code will get a list of every installed font in the system. Double click on the Form, and you'll get a method called xxx_Load, where xxx is the name of your Form (not the Text property, that's just the caption). Put the code in there (don't forget to add a using System.Drawing statement at the top of your code file), but just after the line with new Font(..) in it, add an item to the combobox with the text of font.Name
That lists the fonts used in the combobox. When you want to set the textbox's Font property, double click in the combobox, and put some code in there which creates a Font (using new) from the SelectedItem property of the combobox. Set the textbox's Font property to that Font object you just created
|
|
|
|
|
Ok, thanks alot ill give it a shot
edit: the word 'famlies' "foreach(FontFamily family in families)"
is underlined in red: word does not exist in current context.
Sorry again, ive added the using system statement etc, wont go away.
edit: before i start to annoy you maybe i presented this out wrong. I created a project just to try this out and see if i can get it working. Thats why i still have all the names like form1 :P
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Text;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
System.Drawing.Text.InstalledFontCollection fonts = new System.Drawing.Text.InstalledFontCollection();
foreach (FontFamily family in families)
{
if (family.IsStyleAvailable(FontStyle.Regular))
{
Font font = new Font(family, 12, FontStyle.Regular);
}
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}
modified on Tuesday, May 19, 2009 11:53 AM
|
|
|
|
|
the error is that 'families' does not exist. change it to 'fonts'. Its a mistake in the code
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
Even with that error fixed the code you have posted wont do what you want.
so here are the fixes, the should work...
1. in you load event change the 'families' to 'fonts'
2. just before you foreach loop add the following line...
comboBox1.Items.Clear();
3. inside your foreach loop replace all code with this line only...
comboBox1.Items.Add(family.Name);
this should then populate you combo box with all the fonts
4. in your selected index changed event add the following code to alter you textbox font...
textbox1.Font = new Font(comboBox1.Text, 10);
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
I get a error:
foreach statement cannot operate on variables of type 'System.Drawing.Text.InstalledFontCollection' because <'System.Drawing.Text.InstalledFontCollection' does not contain a public definition for 'GetEnumerator' ...................................
Thats after foreach (FontFamily family in fonts) - changing it from 'family' to 'fonts'
This is so much harder than small basic but i like challenges, ones that not go so well
|
|
|
|
|
Change the foreach from fonts to fonts.Families
|
|
|
|
|
Whoops. I took the code from one of my snippets, so had to adapt it for some reason. Don't worry though, I'm not annoyed in the slightest. You're trying to learn, and that's always a good thing
|
|
|
|
|
Have you tried FontDialog? I dont know if its useful for u:
using System.Windows.Forms;
FontDialog fontDialog = new FontDialog();
if ( fontDialog.ShowDialog() != DialogResult.Cancel )
{
textBox.Font = fontDialog.Font;
}
|
|
|
|
|
Thanks for the imput, ive tried that one
Just wanting the one for combo box i believe it's all me getting confused easy
|
|
|
|
|
Hi,
I have built a class called MyGlobal with a name space of nsMyGlobal. I have added the .DLL to the references and I can see MyGlobal in the list.
I then add a "using MyGlobal;" to the top of my new project C# source and then added a:
myglobal = new MyGlobal( ); // define a reference to it
When I try to build, I'm getting the following error message:
Error 1 The type or namespace name 'MyGlobal' could not be found (are you missing a using directive or an assembly reference?)
I'm not sure what I did wrong...
Thank you,
Glenn
Glenn
|
|
|
|
|
gmhanna wrote: I have built a class called MyGlobal with a name space of nsMyGlobal
gmhanna wrote: I then add a "using MyGlobal;"
See the error now?
No? Try
using nsMyGlobal;
No trees were harmed in the sending of this message; however, a significant number of electrons were slightly inconvenienced.
This message is made of fully recyclable Zeros and Ones
|
|
|
|
|
Damn, Silver again!
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
I have days like that, too. Thursdays, mostly...
No trees were harmed in the sending of this message; however, a significant number of electrons were slightly inconvenienced.
This message is made of fully recyclable Zeros and Ones
|
|
|
|
|
Works perfect now thanks!!
Glenn
|
|
|
|
|
You say your namespace is 'nsMyGlobal', so is it not...
nsMyGlobal.MyGlobal myglobal = new nsMyGlobal.MyGlobal();
Of course, with that you dont need the 'using' statement, which should be 'using nsMyGlobal;' anyway
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
Hi,
I'm looking for a way to get a hex string into an integer without converting it. IE: The user enters 10, if I use "uint32 x = Convert.UInt32(String)" I end up with 0x0A, not 0x10. I know if I use a pointer and do it by byte at a time it will work, but I was looking for something a little more straight forward.
Thanks,
Glenn
Glenn
|
|
|
|
|
Hi,
uint.Parse(string, NumberStyles.HexNumber) translates "10" into sixteen.
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|