C#第九节课

这节课主要是展示了各种大家的实验程序

说几个感受

创意都很棒啊!

我觉得大家都很厉害。。。比如wwx的游戏,用到了游戏引擎。。。据说ltp他们组的也是用到了游戏引擎

其次觉得我这个前端似乎并没有艺术细菌!界面并不是很美观。。。。

比较新颖的一些功能就是那些嵌入了游戏引擎的。。。

然后发现了自己组的一些不足。。。比如数据库比较弱。。。当然了我们的程序因为不涉及到数据库。不过数据库还是需要学一学的。

说一点自己组实验的技术

WPF平台的跳转我用了这样一段代码来实现

private void AllAccount_Click(object sender, MouseButtonEventArgs e)
{
    AllAccount win = new AllAccount();
    this.Close();
    win.Show();
}

但是我遇到了问题就是。。。完全被限制住了。。。不知道怎么传参数了。。。。

因为在win8app里面是用

private void backButton_Click(object sender, RoutedEventArgs e)
        {
            var frame = new Frame();
            frame.Navigate(typeof(MainPage));
            Window.Current.Content = frame;
            Window.Current.Activate();
        }

这里在navigate的里面可以加参数如

frame.Navigate(typeof(MainPage),pageID);

但是在上面那种就不知道怎么弄了。。。

后来发现还可以这样。。。

我们在要实例化的那个windows里面设置一个带参数的构造函数就行了

然后我们在实例化的时候可以 把那个参数当成构造函数的参数传进去

这样做确实比我之前的方法要好。

之前的方法中我是在APP.cs里面声明了一个static的int值作为全局变量。。。

然而在开发中全局变量的应用是很容易出麻烦的。。。面向对象的一大特点就是

每一个对象就只处理跟自己有关的数据不要控制别人的内容。。。。

所以这里的传参方式需要学习

其次说一下在WPF开发中。。。遇到的页面大小拉伸的问题

<Viewbox Stretch="Fill">
    <Grid>
        <Button Content="返回" HorizontalAlignment="Left" Margin="407,270,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
        <ListView ItemsSource="{Binding}" HorizontalAlignment="Left" Height="183" Margin="0,61,0,0" VerticalAlignment="Top" Width="482">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding Usage}" FontSize="25"/>
                        <StackPanel>
                            <TextBlock Text="{Binding Time}" FontSize="10"/>
                            <TextBlock Text="{Binding Amount}" FontSize="10" />
                            <TextBlock Text="{Binding Remark}"  />
                            <Button Name="deleteButton" Click="Delete_Click" Tag="{Binding Id}" Content="删除" FontSize="10"></Button>
                            <Button Name="editButton" Click="Edit_Click" Tag="{Binding Id}" Content="编辑" FontSize="10"></Button>
                        </StackPanel>
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
        <TextBox HorizontalAlignment="Left" Height="37" Margin="39,19,0,0" TextWrapping="Wrap" Text="所有账单" VerticalAlignment="Top" Width="133" FontSize="30"/>
    </Grid>
</Viewbox>
这里要注意我在外面套了一个viewBox,这个是用来解决我们的程序拉伸时候内容不跟着变这个问题的。
有了这个viewBox,并且将viewbox的Stretch设置为fill,则会将viewbox内部所有的控件都跟着长宽比进行拉伸收缩。从而实现这个功能。

也是比较方便。。。stretch这里有四个选项。fill是完全跟着变化。。。还有别的固定长宽比变化等变化方式。。。

这个属性也不只用在这里。。。image那里也可以用。。。很方便吧

这周主要的时间用来写实验了。。这里就介绍两个心得。。。具体内容等将实验代码完善之后会上架然后在后续的更新中和队友商量一下争取将代码开源让更多的人讨论指出我们的不完善之处。。。就是这样!

时间: 2024-11-06 09:42:36

C#第九节课的相关文章

Linux学习第九节课-shell脚本编程

Linux第九节课 -------------------------------------------------------------------------------------------------------------------------------- 程序:算法+数据结构 数据:程序的核心 算法:处理数据的方式 程序编程风格 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 高级编程语言 编译:高级语言→编译器→机器代码→执行,例如c,c++等

Linux学习第九节课(2019.9.22)

今晚老刘说了第7张的raid0,raid1,raid5,raid10的区别以及配置阵列+备份盘:然后说了LVM逻辑卷管理器的部署以及扩容缩小:最后说了逻辑卷的快照以及删除逻辑卷的方法.不知不觉过上了9节课,总共20节课(其实就是,2-18节是主要考试内容),那就是说已经过了一半,心里还是不怎么踏实,需要继续努力学习.老刘硬广:linuxprobe.com------------------------------------------------------------------------

【非凡程序员】 OC第九节课 (KVO的应用)

这是一个QQ密码登陆地址和密码同时被修改时,通知用户QQ账号出现问题 该题难度主要在于判断监控的两次数据都是被修改的 有两种方案: ①定义一个可变的数组,把每次监控到的新旧数据添加进去,进行对比 ②定义一个变量,每修改一次,该变量就自加一次,判断为2时,通知用户 (1)main函数//  main.m//  QQ被盗////  Created by 非凡程序员 on 15/5/27.//  Copyright (c) 2015年 非凡程序员. All rights reserved.// #im

【非凡程序员】 OC第九节课 (KVC的运算)

买粽子的例子,主要输练习KVC的应用,(注意:必须建立一个数组,才能使用KVC的运算)详细代码如下: 1.main函数代码: #import <Foundation/Foundation.h> #import "Person.h" #import "zongZi.h" int main(int argc, const char * argv[]) {     @autoreleasepool {         // insert code here..

【非凡程序员】 OC第九节课 (KVC的使用)

今天主要学习了1.关键字@synthesize我们使用@property定义属性之后,有时候我们不想定义属性为_开头的参数名,如果我们想修改这个属性的名称,就可以使用@synthesize关键字来对属性名称进行修改 2.点语法①可以用作set和get调用Person *person1=[[Person alloc]init];person1.name="zhang"; //用法和[person1 setName:"zahng"]一样;NSLog("name

第九节课:这些难缠的符号

一.先得讲讲二进制 9 + 1 = 10 0 + 1 = 1 1 + 1 = 10 10 + 1 = 11 11 + 1 = 100 100 + 1 = 101 101 + 1 = 110 二.难缠的符号 bin(0) 0b1 bin(2) 0b10 bin(3) 0b11 1. 难缠的符号之一 >>(二进制 - 右移) << (二进制 - 左移) 3 >> 1 1 8 >> 1 4 左移运算 1 << 1 2 1 << 2 4 1

centos mysql 实战 第九节课

f

信管师培训之第九节课作业(变更管理+信息系统安全管理)

第16章 变更管理 1.变更管理的原则是首先? 变更管理的原则是首先建立项目基准.变更流程和变更控制委员会(也叫变更管理委员会). 2.国内较多的配置工具有哪些?(3个)国内使用较多的配配工具有Rational ClearCase.Visual SourceSafe(VSS).Concurrent Versions System(CVS) 3.CCB是决策机构还是作业机构? CCB是决策机构,而不是作业机构. 4.项目经理在变更中的作用是什么? 项目经理在变更中的作用是:响应变更提出者的要求,评

0527 第九节课

一.文件的打包和压缩 1.compress/uncompress compress [options] file     *.Z -d:解压缩,等同于uncompress -c:输出到屏幕 -r:压缩目录 zcat file.Z > file 2.gzip/gunzip gzip [options]  file  *.gz -c:输出到屏幕 -d:解压缩 -k:保留源文件 -#:确定压缩比,1-9,1是最差9是最好,默认是6 gzcat:不解压预览压缩文件内容 gzip可以解压Z压缩文件 3.b