wpf图片轮播(未释放资源)
来源:互联网 发布:大数据与BI 编辑:程序博客网 时间:2024/06/05 10:44
今天有个临时需求,做图片轮播,以前做了一个,找不到了。
想了个简单的方法临时拿着用,这里先记着有空再来改。
上代码-----》
using System;using System.IO;using System.Windows;using System.Windows.Controls;using System.Windows.Media.Imaging;using System.Windows.Threading;namespace wpf图片轮播{ /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromSeconds(0.1); timer.Tick += timer1_Tick; //timer.Start(); } /// <summary> /// 鼠标点击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button_Click(object sender, RoutedEventArgs e) { list.Children.Clear(); string[] s = SearchFolder(textBox.Text); BitmapImage_Source = new BitmapImage[s.Length]; int i = 0; foreach (string item in s) { BitmapImage_Source[i] = new BitmapImage(new Uri(@"" + item, UriKind.Absolute)); ; i++; TextBox cc = new TextBox(); cc.Text = item; list.Children.Add(cc); } timer.Start(); } private DispatcherTimer timer; /// <summary> /// 测试timer用 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void timer_Tick(object sender, EventArgs e) { this.Title = string.Concat("TimerWindow ", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")); } /// <summary> /// 改变图片 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void timer1_Tick(object sender, EventArgs e) { //(你的定时处理) this.Dispatcher.Invoke(new Action(() => { image.Source = BitmapImage_Source[pic_now]; pic_now++; if (pic_now > BitmapImage_Source.Length - 1) { pic_now = 0; } })); } BitmapImage[] BitmapImage_Source; int pic_now = 0; /// <summary> /// 搜出路径下 文件路径 /// </summary> /// <param name="dir"></param> /// <returns></returns> public static string[] SearchFolder(string dir) { string[] images = null; if (System.IO.Directory.Exists(dir)) //如果存在这个文件夹删除之 { int image_sum = 0; foreach (string files in System.IO.Directory.GetFiles(dir)) { if (files.Contains(".JPG") || files.Contains(".jpg") || files.Contains(".JPEG") || files.Contains(".jpeg") || files.Contains(".bmp") || files.Contains(".BMP") || files.Contains(".GIF") || files.Contains(".gif") || files.Contains(".PNG") || files.Contains(".png")) { image_sum++; } } images = new string[image_sum]; image_sum = 0; foreach (string files in System.IO.Directory.GetFiles(dir)) { if (files.Contains(".JPG") || files.Contains(".jpg") || files.Contains(".JPEG") || files.Contains(".jpeg") || files.Contains(".bmp") || files.Contains(".BMP") || files.Contains(".GIF") || files.Contains(".gif") || files.Contains(".PNG") || files.Contains(".png")) { images[image_sum] = files; image_sum++; } } } return images; } }}
xaml 部分
<Window x:Class="wpf图片轮播.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:wpf图片轮播" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="53*"/> <RowDefinition Height="11*"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="160*"/> <ColumnDefinition Width="357*"/> </Grid.ColumnDefinitions> <Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="245,15,0,0" VerticalAlignment="Top" Width="75" Click="button_Click" Grid.Column="1" Grid.Row="1"/> <StackPanel x:Name="list" HorizontalAlignment="Left" Height="320" VerticalAlignment="Top" Width="160" Grid.RowSpan="2"/> <TextBox x:Name="textBox" HorizontalAlignment="Left" Height="23" Margin="42,15,0,0" TextWrapping="Wrap" Text="D:\工作数据\SuperPay" VerticalAlignment="Top" Width="120" Grid.Column="1" Grid.Row="1"/> <Image x:Name="image" Margin="0" Grid.Column="1"/> </Grid></Window>
0 0
- wpf图片轮播(未释放资源)
- 释放未托管资源
- 释放资源问题(图片)
- JavaScript实现图片轮播(未测试)
- jni未释放资源问题
- 图片轮播的优化````释放(未完待续)
- Java软件低级错误(一):资源未及时释放
- WPF在mxs里引用图片资源并释放的方法
- WPF 图片资源设定
- WPF备忘录(7)WPF图片资源路径介绍
- C# WPF 关闭程序 释放资源
- C#释放未托管的资源
- 未释放kafka资源导致的问题
- WPF调用图片路径,或资源图片(WPF编译器、运行期 引用资源)
- 释放内存中的图片资源
- 图片轮播(向上)
- Banner(图片轮播)
- wpf 图片资源引用问题
- <LeetCode> 题5:第k大元素
- SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
- ---java 网络编程总结
- Android本地视频播放器mediaplay版
- 第一次尝试使用 AS 调用JNI~
- wpf图片轮播(未释放资源)
- CodeForces 558 C. Amr and Chemistry && 51NOD 1483 化学变换(暴力 + 贪心)
- html5--canvas上篇
- SDWebImage使用——一个可管理远程图片加载的类库
- 【bzoj2654】 tree
- Part2:重新组织函数
- Python爬虫入门六之Cookie的使用
- linux命令zxvf
- RequiresPermissions 依据多个值设置权限