|
This is one of the most common problems we get asked, and it's also the one we are least equipped to answer, but you are most equipped to answer yourself.
Let me just explain what the error means: You have tried to use a variable, property, or a method return value but it contains null - which means that there is no instance of a class in the variable.
It's a bit like a pocket: you have a pocket in your shirt, which you use to hold a pen. If you reach into the pocket and find there isn't a pen there, you can't sign your name on a piece of paper - and you will get very funny looks if you try! The empty pocket is giving you a null value (no pen here!) so you can't do anything that you would normally do once you retrieved your pen. Why is it empty? That's the question - it may be that you forgot to pick up your pen when you left the house this morning, or possibly you left the pen in the pocket of yesterday's shirt when you took it off last night.
We can't tell, because we weren't there, and even more importantly, we can't even see your shirt, much less what is in the pocket!
Back to computers, and you have done the same thing, somehow - and we can't see your code, much less run it and find out what contains null when it shouldn't.
But you can - and Visual Studio will help you here. Run your program in the debugger and when it fails, VS will show you the line it found the problem on. You can then start looking at the various parts of it to see what value is null and start looking back through your code to find out why. So put a breakpoint at the beginning of the method containing the error line, and run your program from the start again. This time, VS will stop before the error, and let you examine what is going on by stepping through the code looking at your values.
But we can't do that - we don't have your code, we don't know how to use it if we did have it, we don't have your data. So try it - and see how much information you can find out!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Alex Dunlop wrote: compiler says: System.NullReferenceException
The compiler doesn't generate that exception; the runtime does.
If it was a compiler error, you wouldn't be able to run your application at all, because you wouldn't be able to compile it.
Alex Dunlop wrote: new FileStream(Application.StartupPath + @"\MyGrid.xml"
You shouldn't try to write files in the same directory as your application. When it's deployed, it will most likely be stored under the "Program Files" directory, and it would need to run as an admin account to have permission to write to its own directory.
See Where Should I Store My Data?[^] for suggestions of more appropriate locations to save your files.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
|
What this Exeption generally means is allready explained.
The Mistake you made in your code is the loop. Your limit is i<= DGV.Rows.Count - but it must be i < DGV.Rows.Count. Change that and it could work ...
The Elements from the DGV are from 0...DGV.Rows.Count-1 (because the Collection in it is Zero-based ...
|
|
|
|
|
Thanks. I changed it to
i<=xmlNode.Count-1 and solved. Now, I can retrieve all my color setting in each row.
|
|
|
|
|
You are welcome ...
|
|
|
|
|
I am a student at WGU academy. The school is not bad for what it is considering price and goals. I am going for a bachelors in cybersecurity. I have no background experience in anything I.T. I have only ever been an automotive technician and fire sprinkler installer.
To start at the university, you need to have some prerequisites done at the academy to get accepted. 1 is English composition 101 and the other is Microsoft software development OR Microsoft database administration. I chose software development to learn c#.
On this class, there are 7 topics to pass.
Also on this class, you can access a forum where other students post their problems or solutions on the same course. In that forum, I noticed one of the topics were, "I have finished the 4th topic and still feel I don't know how to code alone without the examples."
With that said, I am on the third topic and am having trouble understanding some of the verbiage and what it means. I have tried Youtube videos and other means. any advice on where to learn better or where can I find better coding practices?
If you guys have any feedback on this school too, let me know.
second topic is all about object oriented programming. I am only having trouble with keywords like, "This", constructors, delegates and signatures.
|
|
|
|
|
You already have this posted in QA: do not post in multiple places - it duplicates work and that wastes our time and annoys people.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
IMO if you`re new to programming the best way to learn to make programs is to approach two programming languages at the same time (C++ and C# for example) and see the common ground they share (variables, functions, classes), after you have a good grasp of core concepts you can focus on the specifics one particular programming language.
|
|
|
|
|
I'd suspect that will confuse rather than educate - particularly with two languages that look so similar on the surface but are fundamentally different in the way they handle things.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
There`s little I can teach a veteran.
To my mind if you`re a theory first type person you find it easier to grab a book, learn the basic concepts and dive into applied code afterwards. But there`s also greasy hands first type people(like I am), they throw away the book and go about learning by dismanteling and putting stuff back together.
|
|
|
|
|
What IDE (e.g. Visual Studio) are you using? If VS, press F1 (help) when there's a (selected) keyword you're unsure about ... then read.
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
I suggest a book like SAMS Learn C# in 21 Days[^].
The link may not point to the most recent version of the book, so you will have to locate it.
This book series provides a set of lessons that teach you a language, one thing at a time, using live examples and practice coding. It's not going to teach you everything, but you can get a good handle on the language and major concepts. Depending on your level of understanding and how quickly you pick this up, each lesson will probably take 1 to 4 hours. Experienced people breeze through it much faster, but you have a lot of basic concepts to learn.
Unless you have 2 monitors or 2 computers, I recommend hard copy. You don't want to switch back-n-forth between the book and an IDE.
|
|
|
|
|
i am working in a small team and we develop winform application which our company people use it daily. our project is in VSTS means using TFVC.
we use click one publish feature to publish our application to a centralize office server and our colleagues install from there as a result when we give update then those update automatically download in client pc.
please discuss what will be best release management for our winform project. when we check-in any changes in TFVC then all changes goes to main branch that master branch. should we always work with master branch or always create new branch. if new branch then when we should create new branch?
please guide me with steps-by-step details that how could i follow any standard release management for our winform application.
Thanks
|
|
|
|
|
Quote: please guide me with steps-by-step details
Would you like lunch with that?
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
Oh, yes please.
It's been ages since I went out for lunch.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Forum is place where knowledgeable people guide other. i have little knowledge on good strategy for release management and that is why asked here.
|
|
|
|
|
Mou_kol wrote: Forum is place where knowledgeable people guide other And that is perfectly correct - Gerry is just being a smartass (we all do it at some time).
Beware what you ask for, we found the automatic deployment scenario a PITA that needed a lot more care and management than a manual deployment. The senior developer (me) was the one to do/authorise the deployments after discussing/reviewing the changes. As the senior dev I was responsible for the health of the production environment (20+ applications), having my butt kicked for a junior devs stuff up was irritating.
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
Hi,
I have used DataGridView to my application. I have also added right click menu and some functions such as cell color and text color in it. How can I save cell and text color so when I re-open my application, my last settings to be loaded. I use SQL CE for read/write data from/into DataGridView.
Please guide me.
If possible, please provide a sample code for my question so I can study and find a solution for my own problem.
|
|
|
|
|
You already know how to set the colours, and getting them uses exactly the same properties.
So all you need to do is loop through your DGV rows and columns at form close time and save that info to a file - using whatever file format floats your boat: CSV, JSON, XML, ... any of them will do it.
Then at startup, you read the file, and copy the info back to your DGV.
What part of that is difficult for you?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I can loop through all cells in DataGridView using double For.
But, I don't know how to code in xml and how to read it when loading my app.
I need a sample code for reading/Writing xml for this purpose.
|
|
|
|
|
|
I tried to build a Write/Read class as follows:
class DataGridViewColor
{
public static void WriteDataGridViewSettings(System.Windows.Forms.DataGridView dgv)
{
XmlTextWriter writer = new XmlTextWriter(Application.StartupPath + @"\MyGridColor.xml", null);
writer.WriteStartDocument();
writer.WriteStartElement(dgv.Name);
int LastRow = dgv.Rows.Count-1;
for (int i = 0; i < LastRow; i++)
{
for (int j = 0; j < dgv.Columns.Count - 1; j++)
{
writer.WriteStartElement("Color");
writer.WriteStartElement("CellColor");
writer.WriteString(dgv.Rows[i].Cells[j].Style.BackColor.ToString());
writer.WriteEndElement();
writer.WriteStartElement("TextColor");
writer.WriteString(dgv.Rows[i].Cells[j].Style.ForeColor.ToString());
writer.WriteEndElement();
writer.WriteEndElement();
}
}
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
}
}
Now, I need to build a class for reading but I don't know how to do that.
Please guide me by giving a code so I can learn something about the solution.
I tried this code but it gives error:
class DataGridViewColor
{
public static void ReadDataGridViewSettings(System.Windows.Forms.DataGridView dgv)
{
XmlDocument xmldoc = new XmlDocument();
XmlNodeList xmlnode;
FileStream fs = new FileStream(Application.StartupPath + @"\MyGridColor.xml", FileMode.Open, FileAccess.Read);
xmldoc.Load(fs);
xmlnode = xmldoc.GetElementsByTagName("column");
for (int i = 0; i <= (xmlnode.Count)/13; i++)
{
string cellcolor = xmlnode[i].ChildNodes.Item(0).InnerText.Trim();
string textcolor = xmlnode[i].ChildNodes.Item(1).InnerText.Trim();
for (int j = 0; j < 13; j++)
{
dgv.Rows[i].Cells[j].Style = new DataGridViewCellStyle {BackColor = Color.FromName(cellcolor)};
dgv.Rows[i].Cells[j].Style = new DataGridViewCellStyle {ForeColor = Color.FromName(textcolor)};
}
}
fs.Close();
}
}
modified 12-Jan-21 13:12pm.
|
|
|
|
|
please short I remember that when clicking in a cell that the corresponding date evening retrieve and store in a variable. I use a calendar layout like a tables or columns are dates and a column has several cells, I want when I click on a cell to get its corresponding date.
I program in c #
|
|
|
|
|