微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vb.net 在等待进程时显示动画 Gif

如何解决vb.net 在等待进程时显示动画 Gif

我正在运行将数据表导出到 Excel 的代码。由于这需要一段时间,我不想混淆用户显示图像

Loader

Dim _excel As New Microsoft.Office.Interop.Excel.Application
        Dim wBook As Microsoft.Office.Interop.Excel.Workbook
        Dim wSheet As Microsoft.Office.Interop.Excel.Worksheet

        PictureLoading.Visible = True

        wBook = _excel.Workbooks.Add()
        wSheet = wBook.ActiveSheet()

        Dim dt As System.Data.DataTable = GetTableForCompleteArchive()
        Dim dc As System.Data.DataColumn
        Dim dr As System.Data.DaTarow
        Dim colIndex As Integer = 0
        Dim rowIndex As Integer = 0
        PictureLoading.Refresh()
        For Each dc In dt.Columns
            colIndex += 1
            _excel.Cells(1,colIndex) = dc.ColumnName
        Next
        PictureLoading.Refresh()
        For Each dr In dt.Rows
            rowIndex += 1
            colIndex = 0
            For Each dc In dt.Columns
                colIndex += 1
                _excel.Cells(rowIndex + 1,colIndex) = dr(dc.ColumnName)
            Next
        Next
        PictureLoading.Refresh()
        wSheet.Columns.AutoFit()
        Dim strFileName As String = Application.StartupPath & "\Export.xlsx"  '"C:\datatable.xlsx"
        If System.IO.File.Exists(strFileName) Then
            System.IO.File.Delete(strFileName)
        End If
        PictureLoading.Refresh()
        wBook.SaveAs(strFileName)
        wBook.Close()
        _excel.Quit()

        PictureLoading.Visible = False

问题是图像冻结并且没有动画。有没有办法在等待过程时使图像动画?

解决方法

function wpdocs_replaceALT( $content ) {
  if ( is_single() && in_the_loop() && is_main_query() ) {

    libxml_use_internal_errors( true );

    $post = new DOMDocument();
    $post->loadHTML( $content );
    $images = $post->getElementsByTagName( 'img' );

    foreach ( $images as $image ) {
        
      $view_photog = '';
      $src = $image->getAttribute( 'src' );
      $image_id = attachment_url_to_postid( $src );
      $media = get_post( $image_id );
      $caption = $media->post_excerpt;
      $photographer_relationship = get_field( 'photographer',$image_id );
      $photographer = ( is_array( $photographer_relationship ) && !empty( $photographer_relationship ) ) ? array_shift( $photographer_relationship ) : null;
        
      if ( !empty( $photographer ) ) {
        $link_to_photographer = get_permalink( $photographer );
        $view_photog = '<a class="learn-more-photog-link" target="_blank" href="' . $link_to_photographer . '">View Photographer</a>';
      }

      $link_text = '' . $caption . '' . $view_photog . '';

      if ( empty( $image->getAttribute( 'title' ) ) ) {

      $image->setAttribute( 'title',$link_text );
      }
    }
    $content = $post->saveHTML();
    return $content;
  }
}
add_filter( 'the_content','wpdocs_replaceALT' );

我的函数是从 Private Sub TotalArchiveToolStripMenuItem_Click(sender As Object,e As EventArgs) Handles EXCELToolStripMenuItem.Click BackgroundWorker1.WorkerSupportsCancellation = True BackgroundWorker1.WorkerReportsProgress = True 'call this method to start your asynchronous Task. BackgroundWorker1.RunWorkerAsync() 'display the loading image PictureLoading.Visible = True End Sub Private Sub BackgroundWorker1_DoWork(sender As Object,e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork 'call the function to export to Excel Export2Excel() If BackgroundWorker1.CancellationPending Then e.Cancel = True End If End Sub Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object,e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted '' This event is fired when your BackgroundWorker exits. '' It may have exitted Normally after completing its task,'' or because of Cancellation,or due to any Error. PictureLoading.Visible = False End Sub 内部运行的。当我点击 Backgroundworker_DoWork 时图像设置为可见,完成 TotalArchiveToolStripMenuItem 后设置为不可见。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。