|
hi
how chenge close botton in extra tab?
style PropertyView
tanks
|
|
|
|
|
You need to provide more information if you hope to have any meaningful answer to this question.
Describe the technology you are using: WinForms ? WPF ? ASP.NET ?
Tell us what, exactly, is a "Tab" and a "PropertyView" in your application.
“Use the word 'cybernetics,' Norbert, because nobody knows what it means. This will always put you at an advantage in arguments.” Claude Shannon (Information Theory scientist): letter to Norbert Weiner of M.I.T., circa 1940
|
|
|
|
|
|
You're going to have to supply a lot more information than that. What technology are you talking about here? What extra tab?
|
|
|
|
|
extra tab in c# in component devexpress
|
|
|
|
|
|
if you are looking win forms tabs have a read of this CP article
Painting Your Own Tabs - Second Edition[^]
Every day, thousands of innocent plants are killed by vegetarians.
Help end the violence EAT BACON
|
|
|
|
|
Does anyone know proper place where I send a request about C# new language feature?
---------------------------
Mail To:
higlabo@outlook.com
---------------------------
|
|
|
|
|
How about these people?[^]
=========================================================
I'm an optoholic - my glass is always half full of vodka.
=========================================================
|
|
|
|
|
Thank you
I will ask here.
Higty
modified 27-Mar-14 22:02pm.
|
|
|
|
|
|
|
I will only note that based on a vast array of language requests that I have seen over the years that you might want to at least discuss it with a few people first just to insure that
- It is feasible
- Usable to a large number of people
- Not already existing
|
|
|
|
|
|
You could easily achieve the same code through the use of a code snippet.
|
|
|
|
|
|
I think you're mixing a lot of concerns in your code there. In general language changes should be autonomous with clearly defined boundaries that prevent the possibility of unwanted edge cases creeping in. As it is, you are asking them to introduce features to satisfy problems that could be easily avoided without mixing concerns - yes, you are mixing concerns here. Let's take your MyInt32Property sample and look at it in a different way.
This satisfies your DRY principle concerns at a stroke. Now, one of the examples you give is age. As age can be a complex object, containing rules about what constitutes a valid age, you would probably want to make this a class as well:<pre lang="c#">public class Age : PositiveInt32Value
{
protected override void ValidateValue(int value)
{
base.ValidateValue(value);
if (value < 18) throw new ArgumentException("You are way too young to be using this site");
if (value > 900) throw new ArgumentException("Who do you think you are? A Time Lord?");
}
}
|
|
|
|
|
Thank you for sharing reply.
Indeed, I implement like yours in current C# version.
But I encounter a some problem in this implementation.
1.I must change many place if I insert OnPropertyChanged method call in your Value property.(If a class has many propeties like Value1,Value2,Value3...ect)
2.A littel bit redundant code block.
It is more short.
property PositiveInt32ValuProperty Int32 Value;
My idea is superior to current implementation in at least these 2 point.
If you have some idea to solve these problems, I greatly appreciate if you show it to us.
>autonomous with clearly defined boundaries
I think my idea is enough to be autonomous.
My idea is "We can define property implementation and use it in class definition"
That all.
Property template solve a lot of problem (around INPC,Validation,redundancy...etc) with autonomous feature.
Higty
modified 27-Mar-14 21:57pm.
|
|
|
|
|
Higty wrote: I must change many place if I insert OnPropertyChanged method call in your Value property.(If a class has many propeties like Value1,Value2,Value3...ect) Why would you need to insert the call in many places? Make it part of the underlying class and bind to that, and I have no idea what you mean about your redundant code block. If you implemented the functionality in my version you could have something like this:
public Age Age = new Age();
public PositiveInt32Balance DaysSinceSomeEvent = new PositiveInt32Balance();
Age.Value = -2; Note that I could have implemented these as either a field OR a property. It doesn't matter.
|
|
|
|
|
>Why would you need to insert the call in many places? Make it part of the underlying class and bind to that
Because I could not determine all things in the future.
Think about such case.
I implement like this because I don't need INPC interface at first.
I don't want to implement unnecessary code to fire OnPropertyChanged because simply I don't need it.
public int Value
{
get { return _value; }
set { _value = value; }
}
That ok in current requirement.
But some business requirement is changed, now I need to fire PropertyChanged event.
(Or other example, I must add validation before or after the code "_value = value".)
You can create a property like this at first.
public int Value
{
get { return _value; }
set
{
OnPropertyChanging(value);
ValidatingValue(value);
_value = value;
ValidatedValue(value);
OnPropertyChanged(value);
}
}
But it is unnecessary who don't use INPC or validation.
And it cause a little bit performance cost.(Even though, probably it can be ignorable in many case...)
Can you determine all of what you need in the future?
I could not see all thing in the future.
Best design could be changed by requirement.
My idea easily solve these situation by changing one line of code.(DRY principle)
Redundant means the current implementation
public int Value
{
get { return _value; }
set
{
ValidateValue(value);
_value = value;
}
}
More simple and less code
property PositiveInt32ValuProperty Int32 Value;
How do you think of?
modified 27-Mar-14 21:56pm.
|
|
|
|
|
I'm sorry, but I really don't like the sound of what you're proposing. What happens if I want to have only a protected setter? As I said, you have to be able to cater for edge cases with a change to the language. And if you're going the step to have a class in your property then what do you actually gain over what I showed you?
By the way, you might want to remove your email address if you don't want to be inundated with spam.
|
|
|
|
|
Ok, I know that you don't like it.
It's fine.
I'm not interest in what you like or not.
I just want to know concrete advantage or disadvantage.
And I changed my signature.
Thank you for your recomendation.
regards.
Higty
|
|
|
|
|
Higty wrote: I'm not interest in what you like or not. That really doesn't ring true since you spent so long trying to convince me that it was a good proposal. As for concrete disadvantage, I don't know how many different ways I can tell you that it must cover edge cases, and this doesn't. As I said, what happens if I want a protected or a private setter?
|
|
|
|
|
Excuse me, I could not figure out "a protected or a private setter" what you said.
Higty
|
|
|
|
|
public int MyProperty { get; private set; }
|
|
|
|